Python 3.x 在数据帧中将多个二进制编码行合并为一个

Python 3.x 在数据帧中将多个二进制编码行合并为一个,python-3.x,pandas,merge,Python 3.x,Pandas,Merge,我有一个pandas.DataFrame,看起来像这样: A B C D E F 0 0 1 0 0 0 1 1 0 0 0 0 2 0 1 0 0 0 3 0 0 0 1 0 4 0 0 1 0 0 A B C D E F 0 1 1 1 1 0 有几行在其列中共享1,每行中只有一个1。我希望将这些行相互合并,这样生成的数据帧将由一行组成,该行组合了数据帧的所有1,如下所示: A B C D E F 0 0 1 0 0 0 1 1 0 0 0

我有一个pandas.DataFrame,看起来像这样:

  A B C D E F
0 0 1 0  0  0
1 1 0 0  0  0 
2 0 1 0  0  0
3 0 0 0  1  0
4 0 0 1  0  0
  A B C D E F
0 1 1 1  1  0
有几行在其列中共享1,每行中只有一个1。我希望将这些行相互合并,这样生成的数据帧将由一行组成,该行组合了数据帧的所有1,如下所示:

  A B C D E F
0 0 1 0  0  0
1 1 0 0  0  0 
2 0 1 0  0  0
3 0 0 0  1  0
4 0 0 1  0  0
  A B C D E F
0 1 1 1  1  0
有没有一种聪明、简单的方法来对付熊猫呢?

我们可以做到

df.sum().ge(1).astype(int)
Out[316]: 
A    1
B    1
C    1
D    1
E    1
F    0
dtype: int32
我们能做到

df.sum().ge(1).astype(int)
Out[316]: 
A    1
B    1
C    1
D    1
E    1
F    0
dtype: int32
使用,然后比较是否大于或等于,最后转换为0,1,通过:

如果仅将0,1值与“将掩码转换为0,1”一起使用,则另一种方法是:

使用,然后比较是否大于或等于,最后转换为0,1,通过:

如果仅将0,1值与“将掩码转换为0,1”一起使用,则另一种方法是: