我一直试图为此寻找答案,但找不到 - 我一定是误解了一些东西。我只想对每行出现字符串(“True”)的次数求和。所需的输出如下:d1 = {'score': ['True', 'True', 'False'], 'score2': ['False', 'True', 'True'], 'total': [1, 2, 1]}
df1 = pd.DataFrame(data=d1)
2 回答
慕田峪7331174
TA贡献1828条经验 获得超13个赞
试试这个,
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
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
字符串值: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)
添加回答
举报
0/150
提交
取消