Как я могу преобразовать код python, который объединяет низкочастотные категории / значения, в функцию, которую можно применить к любому столбцу данных pandas? - PullRequest
1 голос
/ 03 февраля 2020

Для этого решения Существует ли простой способ определить этот код в функции, чтобы я мог применить его к любому столбцу данных.

1 Ответ

1 голос
/ 03 февраля 2020

Решение должно быть упрощено с normalize=True в Series.value_counts:

def replace_thresh(df, col, thresh, new_val):
    s = df[col].value_counts(normalize=True).mul(100)
    df[col] = np.where(df[col].isin(s.index[s < thresh]), new_val, df[col])
    return df

df = replace_thresh(df, 'col', 1, 'Other')
...