潘达:计算所有列中的某个值[英] Pandas: count some value in all columns

本文是小编为大家收集整理的关于潘达:计算所有列中的某个值的处理方法,想解了潘达:计算所有列中的某个值的问题怎么解决?潘达:计算所有列中的某个值问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我有一个数据框

graph   0       1       2       3       4
1       blue    blue    blue    blue    blue
2       blue    blue    blue    blue    blue
3       blue    red     blue    blue    red
4       red     blue    red     red     blue
5       red     red     blue    red     red
6       blue    blue    blue    blue    blue

我需要获取每个字符串/行的值"蓝色"的计数.
所需的输出:

graph   result
1       5
2       5
3       3
4       2
5       1
6       5

我尝试这样做

(df['0', '1', '2', '3', '4']).applymap(lambda x: str.count(x, 'blue'))

但它会返回

KeyError: ('0', '1', '2', '3', '4')

推荐答案

In [35]: df.set_index('graph').eq('blue').sum(1).reset_index(name='result')
Out[35]:
   graph  result
0      1       5
1      2       5
2      3       3
3      4       2
4      5       1
5      6       5

本文地址:https://www.itbaoku.cn/post/1728155.html