gpt4 book ai didi

python - 修改 Pandas 中的DataFrame

转载 作者:行者123 更新时间:2023-11-28 20:40:19 30 4
gpt4 key购买 nike

我使用 pandas 来挖掘数据。我有一个 DataFrame - data:

   Age  Sex     Name 
0 28 male Kirill
1 32 female Alina
2 12 female Sasha

我想将 Sex 替换为数字,而不是 male 使用 1,而不是 female - 0

我尝试在循环中进行:

for i in range(data.Age.size()):
if data.Sex[i]=='male'
data.Sex[i]=1
else:
data.Sex[i]=0

但是我得到一个SettingWithCopyWarning。我怎样才能做到正确?

最佳答案

你可以传递一个字典然后调用map :

In [21]:
sex = {'male':1, 'female':0}
df['Sex'] = df['Sex'].map(sex)
df

Out[21]:
Age Sex Name
0 28 1 Kirill
1 32 0 Alina
2 12 0 Sasha

或者对屏蔽的 df 进行 2 次调用:

In [25]:
df.loc[df['Sex']=='male','Sex'] = 1
df.loc[df['Sex']=='female','Sex'] = 0
df

Out[25]:
Age Sex Name
0 28 1 Kirill
1 32 0 Alina
2 12 0 Sasha

一般来说,当有可用的向量化解决方案时,您应该避免循环遍历 df,此外,改变您正在迭代的容器也不是一个好主意,因为它会产生奇怪的行为,例如它有时有效或无效.

关于python - 修改 Pandas 中的DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36085295/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com