有没有一种方法可以使用熊猫将多个标志列汇总为一个?

时间:2020-10-21 21:10:18

标签: python pandas dataframe

我在数据框中有这些列:

a   b   c   d   x
0   1   0   0   kevin
1   0   0   0   john
0   0   1   0   mary
1   0   0   0   jessica
0   0   0   1   joe

我需要将前四列变成一列。像这样:

new_col   x 
b         kevin
a         john
c         mary
a         jessica
d         joe

有熊猫功能吗?

1 个答案:

答案 0 :(得分:2)

使用dot

df['new'] = df.loc[:,'a':'d'].dot(df.columns[:-1])
Out[306]: 
0    b
1    a
2    c
3    a
4    d
dtype: object

如果每行只有1个可以检查idxmax

df.loc[:,'a':'d'].idxmax(1)
Out[307]: 
0    b
1    a
2    c
3    a
4    d
dtype: object