使用带有多个列的get_dummies()

时间:2016-12-27 22:15:25

标签: python pandas

我希望get_dummies()使用超过库存。 ('CabinNumber', 'Name'包含字符串)当我删除其中一个并使用xtr = pd.get_dummies(x ['Name'])我的代码工作

我在this answer尝试了所有内容。但是,我无法让我的代码工作。

 x = df.loc[df['Price'].notnull(), ['Age','Fee', 'Size','Class','CabinNumber', 'Name' ]]

我试过了:

xtr = pd.get_dummies(data=x, columns=['CabinNumber', 'Name'])

我试过了:

xtr = pd.get_dummies(df.loc[df['Price'].notnull(), ['Age','Fee', 'Size','Class','CabinNumber', 'Name' ]])

2 个答案:

答案 0 :(得分:0)

我尝试复制你的代码,我的工作正常。

data = {'a': ['foo', 'buzz'], 'b':['cookie', 'milk'], 'Price': ['super',
   ...:  'duper']}

x = df.loc[df['Price'].notnull(), ['a', 'b']]
>>>       a       b
0   foo  cookie
1  buzz    milk

xtr = pd.get_dummies(data=x, columns = x.columns)
xtr
>>>    a_buzz  a_foo  b_cookie  b_milk
0     0.0    1.0       1.0     0.0
1     1.0    0.0       0.0     1.0

编辑:您也可以根据您链接的主题

执行此操作
pd.concat([pd.get_dummies(x[col]) for col in x], axis=1, keys=x.columns)

答案 1 :(得分:0)

熊猫版本= 0.24.2,假设您的原始数据框为df

dfdummies = pd.get_dummies(data=df,columns=['Gender','Designation'])

它执行伪变量的创建,并将数据连接到原始数据帧。因此,无需添加额外的行来进行连接或合并。