Module music_df.label_df

Functions

def label_df(music_df: pandas.DataFrame,
labels: Sequence[Any],
label_indices: pandas.Series | pandas.Index | Sequence[int] | None,
label_col_name: str,
inplace: bool = False,
null_label: Any = None) ‑> pandas.DataFrame
Expand source code
def label_df(
    music_df: pd.DataFrame,
    labels: Sequence[Any],
    label_indices: pd.Series | pd.Index | Sequence[int] | None,
    label_col_name: str,
    inplace: bool = False,
    null_label: Any = None,
) -> pd.DataFrame:
    if not inplace:
        music_df = music_df.copy()
    if label_indices is None:
        # label_indices = range(len(labels))
        label_indices = music_df.index

    music_df[label_col_name] = null_label

    if isinstance(label_indices, pd.Series) or isinstance(label_indices, pd.Index):
        music_df.loc[label_indices, label_col_name] = labels  # type:ignore
    else:
        for label, i in zip(labels, label_indices):
            music_df.loc[i, label_col_name] = label

    return music_df