我有一个名为all_data
的df,其中有一个名为“neighborry”的列。all_data["Neighborhood"].head()
看起来像
0 CollgCr
1 Veenker
2 CollgCr
3 Crawfor
4 NoRidge
我想用0替换某些邻域名称,用1替换其他邻域名称以获取
0 1
1 1
2 1
3 0
4 1
所以我做了这个:
all_data["Neighb_Good"] = all_data["Neighborhood"].copy().replace({'Neighborhood': {'StoneBr': 1, 'NrdigHt': 1,
'Veenker': 1, 'Somerst': 1,
'Timber': 1, 'CollgCr': 1,
'Blmngtn': 1, 'NoRidge': 1,
'Mitchel': 1, 'ClearCr': 1,
'ClearCr': 0, 'Crawfor': 0,
'SawyerW': 0, 'Gilbert': 0,
'Sawyer': 0, 'NPkVill': 0,
'NAmes': 0, 'NWAmes': 0,
'BrkSide': 0, 'MeadowV': 0,
'Edwards': 0, 'Blueste': 0,
'BrDale': 0, 'OldTown': 0,
'IDOTRR': 0, 'SWISU': 0,
}})
它没有给我一个错误,但什么也没发生。相反,all_data["Neighb_Good"]
看起来完全像all_data["Neighborhood"]
。你知道吗
我已经想了一段时间了,我发誓我看不出是怎么回事,因为我昨天在其他一些专栏上也用了同样的方法,效果非常好。你知道吗
怎么样
更新:您似乎需要^{} :
使用来自注释的数据集:
旧答案:
如果有嵌套的dict,包含列名,请使用^{} 而不是^{} :
或者将^{} 与平面(非嵌套dict)一起使用:
相关问题 更多 >
编程相关推荐