Python:如何计算数据帧中特定列中的特定值

use*_*rAD 5 python count dataframe pandas

我有一个特定的 csv 例如:

col1 col2 col3 col4

a    1    2     3

b    1    2     1 

c    1    1     3

d    3    1     2 
Run Code Online (Sandbox Code Playgroud)

我想计算特定值的数量,例如。1 在 col2、col3 和 col4

我使用以下代码使用熊猫

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]
Run Code Online (Sandbox Code Playgroud)

它显示错误,但是当我对特定定义的列执行相同操作时,代码运行正常

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]
Run Code Online (Sandbox Code Playgroud)

我想要以下输出

col2 3

col3 2

col4 1
Run Code Online (Sandbox Code Playgroud)

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

San*_*apa 7

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

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

col2    3
col3    2
col4    1
dtype: int64
Run Code Online (Sandbox Code Playgroud)