【发布时间】:2019-06-24 09:03:32
【问题描述】:
我有这个数据框:
column1 column2 column3 column4
0 A A D D
1 B B D D
2 C C B D
3 A D D A
我想将列 1 - 列 4 中的类别作为新列添加到数据框中,并用 1 和 0 填充,如下所示:
column1 column2 column3 column4 A B C D
0 A A D D 1 0 0 1
1 B B D D 0 1 0 1
2 C C B D 0 1 1 1
3 A D D A 1 0 0 1
所以我尝试了一些代码:
pd.concat([df, df['column1'].str.get_dummies(sep=',')], axis=1)
我从 column1 中得到 1 和 0。如何修改我的代码以获取所有 1 和 0 条件是:
0 & 0 = 0
0 & 1 = 1
1 & 0 = 1
1 & 1 = 1
我也试过了:
df1 = df.column1.str.get_dummies(sep=',')
df2 = df.column2.str.get_dummies(sep=',')
df3 = df.column3.str.get_dummies(sep=',')
df4 = df.column4.str.get_dummies(sep=',')
frames = [df1, df2, df3, df4]
result = pd.concat(frames, sort=True)
但我希望类别仅作为新列出现一次,值 1 应代表所有出现。你能帮我吗:)
【问题讨论】:
标签: python pandas dataframe machine-learning