我有一个列名从 P1 到 P10 的数据框
p1 p2 p3 p4 p5
0 0 0 1 1
0 0 0 0 0
1 1 1 1 1
the total number of 1 has to be displayed at the end of the row
example : first row = 2
second row = 0
third row = 5
仅使用 if always1和0所有列中的值sum:
df['new'] = df.sum(axis=1)
如果可能,则首先比较布尔掩码的其他值,然后按以下方式计算Trues sum:
df['new'] = df.eq(1).sum(axis=1)
您还可以使用Numpy函数。
在像你这样的情况下(只有1和0),你可以使用:
df['sum'] = np.count_nonzero(df, axis=1)
但如果您还有其他号码,请使用:
df['sum'] = np.count_nonzero(df == 1, axis=1)