我有一些关于不同个体性别的数据集.比如说,数据集看起来像这样:
Male
Female
Male and Female
Male
Male
Female
Trans
Unknown
Male and Female
Run Code Online (Sandbox Code Playgroud)
有些人认为自己是男性,有些是女性,有些人认为自己是男性和女性.
现在,我想要做的是在Pandas中创建一个映射的新列
Males to 1,
Females to 2,
Others to 3
Run Code Online (Sandbox Code Playgroud)
我写了一些代码
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)
Run Code Online (Sandbox Code Playgroud)
但我得到的错误是函数不包含任何属性.我尝试删除str:
x.contains("Male")
Run Code Online (Sandbox Code Playgroud)
我得到了同样的错误
有一个更好的方法吗?
您可以使用:
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
Run Code Online (Sandbox Code Playgroud)