首页 > 解决方案 > 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

任何帮助或提示将不胜感激!先感谢您。:)

标签: pythonpandasdataframecount

解决方案


使用eq所需的值,即1然后sum作为:

df1[['col2', 'col3', 'col4']].eq(1).sum()

col2    3
col3    2
col4    1
dtype: int64

推荐阅读