数据框合并列操作

时间:2018-07-24 08:57:39

标签: python pandas dataframe

我有一个这样的数据框:

A    B     C
1    1     1
2    2     2
3    3     3
4    1     1

我想“合并”三列以形成D列,规则是:如果行中至少有一个“ 1”,则D的值为“ 1”,否则为“ 0”。我该如何实现?

1 个答案:

答案 0 :(得分:1)

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

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