我的数据框包含动物的ID和它们所属的类型,如下所示
ID Class
1 1
2 1
3 0
4 4
5 3
6 2
7 1
8 0
我想将它转换为带有标题行上的类的新样式,如下所示。
ID 0 1 2 3 4
1 1
2 1
3 1
4 1
5 1
6 1
7 1
8 1
你能帮我用python
做些什么答案 0 :(得分:1)
请参阅get_dummies()
:
>>> print df
ID Class
0 1 1
1 2 1
2 3 0
3 4 4
4 5 3
5 6 2
6 7 1
7 8 0
>>> df2 = pd.get_dummies(df, columns=['Class'])
>>> print df2
ID Class_0 Class_1 Class_2 Class_3 Class_4
0 1 0 1 0 0 0
1 2 0 1 0 0 0
2 3 1 0 0 0 0
3 4 0 0 0 0 1
4 5 0 0 0 1 0
5 6 0 0 1 0 0
6 7 0 1 0 0 0
7 8 1 0 0 0 0
如果您想要删除列标题中的“Class_
”,请将prefix
和prefix_sep
都设置为空字符串:
df2 = pd.get_dummies(df, columns=['Class'], prefix='', prefix_sep='')