python - Python:如何计算数据框中特定列中的特定值
问题描述
我有一个特定的 csv,例如:
col1 col2 col3 col4
a 1 2 3
b 1 2 1
c 1 1 3
d 3 1 2
我想计算一个特定值的数量,例如。col2、col3 和 col4 中的 1
我正在使用熊猫使用以下代码
import pandas as pd
fname = input('Enter the filename:')
df = pd.read_csv (fname, header='infer')
one = df.iloc[:,1:4].value_counts(normalize=False).loc[1]
它显示错误,但是当我对特定定义的列执行相同操作时,代码运行正常
import pandas as pd
fname = input('Enter the filename:')
df = pd.read_csv (fname, header='infer')
one = df[col1].value_counts(normalize=False).loc[1]
我想要以下输出
col2 3
col3 2
col4 1
任何帮助或提示将不胜感激!先感谢您。:)
解决方案
使用eq
所需的值,即1
然后sum
作为:
df1[['col2', 'col3', 'col4']].eq(1).sum()
col2 3
col3 2
col4 1
dtype: int64
推荐阅读
- java - 开始:小程序未初始化错误。我该如何解决这个问题?
- swift - FileManager.default.fileExists(atPath:) 将字符串保存到文件路径后显示 nil
- firebase - 有没有测试 Firebase 存储安全规则的好方法?
- css - 将元素背景设置为透明使其变为白色
- npm - Npm 不会安装 quick.db,返回这些错误
- c# - 如何在 Linq-to-Entities 中运行“重新配置”?
- python - 验证用户是否已经存在
- matlab - HS 和 LK 鲁棒光流
- c - 理解困难 未签名
- neural-network - 所有 ReLu 是否都在将所有负值更改为 0?