这个问题在这里已有答案:
# data is a dataframe
for i in data.Sex[0:]:
if i == 'male':
i=1
print(i)
elif i == 'female':
i=0
print(i)
输出打印出我想要的列,将男性改为1,将女性改为0.但是,i=1
和i=0
似乎没有用。如果我跑
print(data.Sex)
然后什么都没变
您正在更改元素迭代,而不是原始数据框,
尝试:
new_list = []
for element in data.Sex:
if element == 'male':
new_list.append(1)
else:
new_list.append(0)
data.Sex = new_list
我很确定有更多的pythonic /优雅方式,但这样做。
当data.Sex不是男性或女性时,还要考虑添加检查