Python 3.x 在数据帧中将多个二进制编码行合并为一个
我有一个pandas.DataFrame,看起来像这样: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
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”一起使用,则另一种方法是: