【发布时间】:2017-09-08 22:29:02
【问题描述】:
给定一个 pandas DataFrame,如何将几个二进制列(其中 1 表示值存在,0 表示不存在)转换为单个分类列?
另一种思考方式是如何执行“反向pd.get_dummies()”?
下面是一个将一个分类列转换成几个二元列的例子:
import pandas as pd
s = pd.Series(list('ABCDAB'))
df = pd.get_dummies(s)
df
A B C D
0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 0 0 0 1
4 1 0 0 0
5 0 1 0 0
我想要完成的是给定一个数据框
df1
A B C D
0 1 0 0 0
1 0 1 0 0
2 0 0 1 0
3 0 0 0 1
4 1 0 0 0
5 0 1 0 0
我可以把它转换成
df1
A B C D category
0 1 0 0 0 A
1 0 1 0 0 B
2 0 0 1 0 C
3 0 0 0 1 D
4 1 0 0 0 A
5 0 1 0 0 B
【问题讨论】:
标签: python pandas dataframe binary dummy-variable