每行出现字符串的总数

时间:2018-11-02 11:02:49

标签: python pandas

我一直在努力寻找答案,但找不到一个-我一定是误会了。

我只是想对每行出现一个字符串(“ True”)的次数求和。所需的输出如下:

d1 = {'score': ['True', 'True', 'False'], 'score2': ['False', 'True', 'True'], 'total': [1, 2, 1]}
df1 = pd.DataFrame(data=d1)

2 个答案:

答案 0 :(得分:4)

尝试一下

df1['total']= df1.eq('True').sum(axis=1)

如果df是布尔值,请尝试此操作

df1['total']= df1.eq(True).sum(axis=1)

为更清洁的方式,

df1['total']= df1.sum(axis=1)

输出:

   score score2  total
0   True  False      1
1   True   True      2
2  False   True      1

答案 1 :(得分:2)

字符串值:eq + sum

df1['total'] = df1[['score', 'score2']].eq('True').sum(1)

print(df1)

   score score2  total
0   True  False      1
1   True   True      2
2  False   True      1

布尔值:sum

在这种情况下,无需执行布尔测试:

df1['total'] = df1[['score', 'score2']].sum(1)