如何将pandas DataFrame中的值二进制化?
我有以下数据框:
df = pd.DataFrame(['Male','Female', 'Female', 'Unknown', 'Male'], columns = ['Gender'])
我想将其转换为与列“男”,“女”和“未知”值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包中的任何内置函数吗?