db_query / utils /config_band.py
DavMelchi's picture
solved LTE empty band due to empty name error
b017739
import pandas as pd
def config_band(df: pd.DataFrame) -> pd.DataFrame:
"""
Create a dataframe that contains the site configuration band for each site code.
Parameters
----------
df : pd.DataFrame
The dataframe containing the site information, with columns "code" and "band"
Returns
-------
pd.DataFrame
The dataframe containing the site configuration band for each site code, with columns "code" and "site_config_band"
"""
df_band = df[["code", "band"]].copy()
df_band["ID"] = df_band[["code", "band"]].astype(str).apply("_".join, axis=1)
# remove duplicates ID
df_band = df_band.drop_duplicates(subset=["ID"])
df_band = df_band[["code", "band"]]
df_band["band"] = df_band["band"].fillna("empty")
df_band = (
df_band.groupby("code")["band"]
.apply(lambda x: "/".join(sorted(x)))
.reset_index()
)
# rename band to config
df_band.rename(columns={"band": "site_config_band"}, inplace=True)
return df_band