如何将计数为 1 的所有列重命名为 'others'

How to rename all columns with count 1 as 'others'

我正在按流派对电影进行分类。 (动作冒险科幻、惊悚恐怖动作……)等等。我得到 200 类,其中 50 类 在我分组时只有一个值。我想按值重命名这些行中的每一行(或每行 occurence=1)并将它们重命名为 'Other' 以便其他计数现在为 50

请指教代码。

数据框是 df,列名是 genre

谢谢

您可以计算频率并使用 np.where 替换如下:

# compute the frequency:
counts = df.groupby('genre').transform('size')

# maps:
df['new_genre'] = np.where(counts > 1, df['genre'], 'Other')