我想使用函数“ pandas.get_dummies()”将“类型:[N,N,N,Y,Y,N,Y……]”的数据帧转换为“类型:[0,0] ,0,1,1,0,1……]“
import pandas as pd
# Define a DataFrame "df"
df = pd.get_dummies(df)
但是该函数始终将“ N”转换为“ 1”,将“ Y”转换为“ 0”。因此,结果是“类型:[1,1,1,0,0,1,0……]”。那不是我想要的,因为这会给我的计算带来麻烦。
我应该怎么做才能改变它?
答案 0 :(得分:1)
您可以使用1-pd.get_dummies(df)
将1
映射到0
,反之亦然,例如:
>>> df
0
0 N
1 N
2 N
3 Y
4 Y
5 N
6 Y
>>> 1 - pd.get_dummies(df)
0_N 0_Y
0 0 1
1 0 1
2 0 1
3 1 0
4 1 0
5 0 1
6 1 0
或者如果将其转换为布尔值,则可以使用布尔值求反,例如:
>>> ~pd.get_dummies(df, dtype=bool)
0_N 0_Y
0 False True
1 False True
2 False True
3 True False
4 True False
5 False True
6 True False