import pandas as pd | |
from utils.convert_to_excel import save_dataframe | |
url = r"./physical_db/physical_database.csv" | |
df = pd.read_csv(url) | |
def validate_azimuth(group): | |
""" | |
Validates the azimuth ordering within a group. | |
This function checks if the azimuth values are strictly increasing when there are exactly three values. | |
To make sure that Sector 3 is higher than Sector 2 and Sector 2 is higher than Sector 1 | |
Args: | |
group (pd.DataFrame): A DataFrame group containing an 'Azimut' column. | |
Returns: | |
bool: True if the azimuth values are strictly increasing when there are exactly three values, False otherwise. | |
""" | |
azimuths = group.get("Azimut", []).values | |
if len(azimuths) == 3 and not (azimuths[0] < azimuths[1] < azimuths[2]): | |
return False | |
return True | |
# Apply validation per 'code' | |
azimut_verification = df.groupby("CODE").apply(lambda x: validate_azimuth(x)) | |
df["Azimut_verification"] = df["CODE"].map(azimut_verification) | |
save_dataframe(df, "azimut_verification") | |
# print(df) | |