pandas Dataframe 合并列操作

ttcibm8c  于 2023-03-16  发布在  其他
关注(0)|答案(1)|浏览(125)

我得到了一个这样的 Dataframe :
| A类|B|C级|
| - ------|- ------|- ------|
| 1个|1个|1个|
| 第二章|第二章|第二章|
| 三个|三个|三个|
| 四个|1个|1个|
我想把这三列'合并'成一个D列,规则是:如果行中至少有一个“1”,则D的值为“1”,否则为“0”。如何实现?

m528fe3b

m528fe3b1#

使用DataFrame.eq比较值,使用DataFrame.any检查每行至少一个True,最后将布尔掩码转换为integer

df['D'] = df.eq(1).any(axis=1).astype(int)
print (df)
   A  B  C  D
0  1  1  1  1
1  2  2  2  0
2  3  3  3  0
3  4  1  1  1

详情

print (df.eq(1))
       A      B      C
0   True   True   True
1  False  False  False
2  False  False  False
3  False   True   True

print (df.eq(1).any(axis=1))
0     True
1    False
2    False
3     True
dtype: bool

相关问题