替换数据帧中的列值

我试图替换数据帧的一列中的值。列(“女性”)仅包含值“女性”和“男性”

我尝试了以下方法:

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’的行”。这意味着选择索引为“女性”的行,其中数据帧中可能没有任何行

发表评论