我有一个数据框,想要检查"男性"或"女性"的字符串,如果数据框包含它们,它将替换为"1"或"0".由于@Anand S Kumar的回答,目前我正在使用下面的代码.
if dataframe['gender']:
dataframe['gender'].replace([0,1],['Female','Male'],inplace=True)
if dataframe['sex']:
dataframe['sex'].replace([0,1],['Female','Male'],inplace=True)
Run Code Online (Sandbox Code Playgroud)
但是,我还要介绍任何其他变体,如"男性","M"和"男性"或"女性","F","f",而宁愿避免为每个变体使用两个if语句.
我尝试过使用更大的列表,例如...
dataframe['gender'].replace([0,1,0,1,0,1,0,1],['Female','Male','male','female','M','F','m','f'],inplace=True)
Run Code Online (Sandbox Code Playgroud)
一本字典...
dataframe['gender'].replace({0:'Female',1:'Male', 0:'female',1:'male',0:'F',1:'M',0:'f',1:'m'},inplace=True)
Run Code Online (Sandbox Code Playgroud)
但是得到了"系列的真实价值是模棱两可的".两者的ValueError.
有没有人知道更好的方式,或者我目前的尝试做错了什么?
提前致谢!
编辑:我的ValueError是因为我的if语句含糊不清.我改变它if 'gender' in dataframe.columns:来修复它.在这里找到了修复.