gpt4 book ai didi

python - 根据另一列的值在 Pandas 中创建新列

转载 作者:太空宇宙 更新时间:2023-11-04 07:17:01 24 4
gpt4 key购买 nike

我有一些关于不同个体性别的数据集。比方说,数据集看起来像这样:

Male
Female
Male and Female
Male
Male
Female
Trans
Unknown
Male and Female

有些人认为自己是男性,有些人认为自己是男性和女性。

现在,我想做的是在 Pandas 中创建一个新的列来映射

Males to 1, 
Females to 2,
Others to 3

我写了一些代码

def gender(x):
if x.str.contains("Male")
return 1
elif x.str.contains("Female")
return 2
elif return 3

df["Gender Values"] = df["Gender"].apply(gender)

但我得到的错误是函数不包含任何属性。我尝试删除 str:

x.contains("Male")

我遇到了同样的错误

有更好的方法吗?

最佳答案

您可以使用:

def gender(x):
if "Female" in x and "Male" in x:
return 3
elif "Male" in x:
return 1
elif "Female" in x:
return 2
else: return 4

df["Gender Values"] = df["Gender"].apply(gender)

print (df)
Gender Gender Values
0 Male 1
1 Female 2
2 Male and Female 3
3 Male 1
4 Male 1
5 Female 2
6 Trans 4
7 Unknown 4
8 Male and Female 3

关于python - 根据另一列的值在 Pandas 中创建新列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39564372/

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