1
给定一个熊猫DataFrame,如何将一个二元列(其中1表示值存在,0表示它不)转换为单个分类列?熊猫DataFrame:如何将二进制列转换为一个分类列?
另一种方式去思考的,这是如何进行“反向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
这只有在数据框中的唯一列是这些二进制列时才有效。有没有办法用你的解决方案来指定这个? – ShanZhengYang
有很多方法可以选择熊猫中的列。可以做'DF [some_list_of_columns_you_care_about] .idxmax(轴= 1)',或使用'df.filter',或使用'df.select'与函数,或'df.loc'用掩模,或'DF。具有位置说明的iloc'等。 – DSM