我试图替换数据帧的一列中的值。列(“女性”)仅包含值“女性”和“男性”
我尝试了以下方法:
w['female']['female']='1'
w[“女性”][“男性”]=“0”
但收到的是与先前结果完全相同的副本
理想情况下,我希望得到类似以下循环元素的输出
如果w['female']=='female':
w['female']='1';
其他:
w['female']='0';
我已经看过了gotchas的文档(http://pandas.pydata.org/pandas-docs/stable/gotchas.html)但我不明白为什么什么都没发生
任何帮助都将不胜感激
如果我理解正确,你想要这样的东西:
w['female']=w['female'].map({'female':1,'male':0})
(在这里,我将值转换为数字,而不是包含数字的字符串。如果确实需要,您可以将它们转换为“1”和“0”,但我不确定您为什么要这样做。)
代码不起作用的原因是,在列上使用['female'](在w['female']['female']中的第二个'female'并不意味着“选择值为’female’的行”。这意味着选择索引为“女性”的行,其中数据帧中可能没有任何行