Jupyter Notebook中如何仅替换Publisher列计数≤5的条目为Other?
解决方法:仅替换Publisher列而保留Counts值
你的问题出在调用df.mask()时没有指定目标列,默认会对整个DataFrame中满足条件的所有单元格进行替换,导致Counts列也被改成了"Other"。以下两种方法可以实现只修改Publisher列,同时保留Counts值不变:
方法一:针对单列使用mask()
直接对Publisher列应用mask()方法,只替换该列中符合条件的值:
publisher_subset = data.filter(['Publisher']) df = publisher_subset.value_counts().reset_index(name='Counts') # 仅修改Publisher列 df['Publisher'] = df['Publisher'].mask(df["Counts"] <= 5, "Other")
方法二:使用loc定位修改
通过loc精准定位满足条件的行和指定列,直接赋值替换:
publisher_subset = data.filter(['Publisher']) df = publisher_subset.value_counts().reset_index(name='Counts') # 定位Counts≤5的行,修改Publisher列的值为"Other" df.loc[df["Counts"] <= 5, 'Publisher'] = "Other"
内容的提问来源于stack exchange,提问作者Yune
相关产品推荐
相关产品推荐

