gpt4 book ai didi

python - 如何对 pandas DataFrame 中的值进行二值化?

转载 作者:太空狗 更新时间:2023-10-29 22:21:28 25 4
gpt4 key购买 nike

我有以下数据框:

df = pd.DataFrame(['Male','Female', 'Female', 'Unknown', 'Male'], columns = ['Gender'])

我想将其转换为包含“男性”、“女性”和“未知”列的 DataFrame,值 0 和 1 表示性别。

Gender  Male  Female
Male 1 0
Female 0 1
.
.
.
.

为此,我编写了一个函数并使用 map 调用该函数。

def isValue(x , value):
if(x == value):
return 1
else:
return 0


for value in df['Gender'].unique():
df[str(value)] = df['Gender'].map( lambda x: isValue(str(x) , str(value)))

效果很好。但是有更好的方法吗?我可以使用的任何 sklearn 包中是否有内置函数?

最佳答案

是的,有更好的方法来做到这一点。它叫做 pd.get_dummies

pd.get_dummies(df)

enter image description here

复制你所拥有的:

order = ['Gender', 'Male', 'Female', 'Unknown']
pd.concat([df, pd.get_dummies(df, '', '').astype(int)], axis=1)[order]

enter image description here

关于python - 如何对 pandas DataFrame 中的值进行二值化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38704545/

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