python - 如何使用熊猫一次计算多列的值
问题描述
我了解到,当我输入时df = pd.read_csv("file.csv")
,我可以从 csv 文件中获取这些数据,如下所示:
round date first second third fourth fifth sixth bonus
0 959 2021.04.17 1 14 15 24 40 41 35
1 958 2021.04.10 2 9 10 16 35 37 1
2 957 2021.04.03 4 15 24 35 36 40 1
3 956 2021.03.27 10 11 20 21 25 41 40
4 955 2021.03.20 4 9 23 26 29 33 8
我还了解到,我可以用它df["column_name"].value_counts()
来计算值写入的频率。
例如df["first"].value_count()
,然后它将显示“第一”列的计数值作为结果。喜欢
1 134
2 107
3 94 ...
但我想一次计算多列中的所有值。
如何一次计算多列的值?有人能告诉我使用哪种方法吗?
解决方案
start
如果您想要从到结束的所有列中的所有当前值的矩阵,请value_counts
按照@jezrael 的建议使用并通过列轴对它们求和:
>>> df.iloc[:, 2:].apply(pd.value_counts).fillna(0).astype(int).sum(axis=1)
1 3
2 1
4 2
8 1
9 2
10 2
11 1
14 1
15 2
16 1
20 1
21 1
23 1
24 2
25 1
26 1
29 1
33 1
35 3
36 1
37 1
40 3
41 2
dtype: int64
推荐阅读
- sorting - 在openrefine中对单元格内的年份列表进行排序
- regex - 有没有办法用 grep 从正则表达式组中排除最后一次出现的字符
- reactjs - 如何使作为过滤器一部分的 SelectInput 默认显示?
- excel - 根据单元格的匹配从一个选项卡复制并粘贴到不同选项卡的宏
- cobol - COBOL 代码不会编译和创建可执行文件
- python - 以用户为外键的模型上的 Django 查询集
- soap - 是否有 Alpakka SOAP 支持?
- python - 如何舍入并与模型中的 PyMC3 先前参数进行比较?
- javascript - 澄清重新:Vue.js 动作/突变
- facebook - FB 提及在使用 /{comment-id}/comments 时不起作用