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

我有一个特定的 csv 例如:


col1 col2 col3 col4


a    1    2     3


b    1    2     1 


c    1    1     3


d    3    1     2 

我想计算特定值的数量,例如。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]

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


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

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


慕仙森
浏览 177回答 2
2回答

哆啦的时光机

使用eq所需的值,即1,然后sum作为:df1[['col2', 'col3', 'col4']].eq(1).sum()col2    3col3    2col4    1dtype: int64

浮云间

我在以下 DataFrame(名为“trade_track”)的“Buys”和“Sells”列中寻找一种方法来检查实际上有多少值高于/低于零时遇到了这个问题:Ticker  Pre-trade  Buys  Sells  Net Exposure Ch.  Post-tradeCX        10126.0   0.0 -964.0         -0.095200      9162.0OI         3311.0   0.0  -24.0         -0.007249      3287.0THO         748.0   0.0  -33.0         -0.044118       715.0WRK        1002.0   0.0  -43.0         -0.042914       959.0TAP         646.0   0.0   -4.0         -0.006192       642.0TRN        1987.0   0.0  -93.0         -0.046804      1894.0SJM         312.0   6.0    0.0          0.019231       318.0WW         1100.0   0.0  -22.0         -0.020000      1078.0FAST       -655.0  13.0    0.0         -0.019847      -642.0CSX        -301.0   6.0    0.0         -0.019934      -295.0ODFL       -123.0   0.0    0.0         -0.000000      -123.0HELE       -130.0   0.0    0.0         -0.000000      -130.0SBUX       -203.0   0.0    0.0         -0.000000      -203.0WM         -166.0   0.0    0.0         -0.000000      -166.0HD          -90.0   2.0    0.0         -0.022222       -88.0VMC        -141.0   0.0    0.0         -0.000000      -141.0CTAS        -76.0   2.0    0.0         -0.026316       -74.0ORLY        -53.0   0.0    0.0         -0.000000       -53.0这是一个有效的简单代码:(i) 在“Buys”列中找到所有大于零的数字:((trade_track['Buys'])>0).sum()(ii) 要在“购买”列中找到所有零:((trade_track['Buys'])==0).sum()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python