4

我有一个列名从 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
4

2 回答 2

6

仅使用 if always10所有列中的值sum

 df['new'] = df.sum(axis=1)

如果可能,则首先比较布尔掩码的其他值,然后按以下方式计算Trues sum

 df['new'] = df.eq(1).sum(axis=1)
于 2019-10-25T09:15:35.637 回答
0

您还可以使用Numpy函数。

在像你这样的情况下(只有10),你可以使用:

df['sum'] = np.count_nonzero(df, axis=1)

但如果您还有其他号码,请使用:

df['sum'] = np.count_nonzero(df == 1, axis=1)
于 2019-10-25T16:54:04.890 回答