首页 > 解决方案 > 根据列的值计算记录

问题描述

我有以下df:

ID  Col1 Col2 Col3
1    A    NB    C
2    A    NB    C 
3    NS   B     NC
4    NS   NB    NC
5    NS   B     NC
6    NS    B     C

我试图根据它们的值来计算每列的数量。

Col1 中有多少个“A”

Col2 中有多少个“B”

Col3 中有多少个“C”

在原始 df 我有很多列和条件。

预期输出:

Col1                Col2            Col3         
TotalCount"A"   TotalCount"B"    TotalCount"C"

所以,我试图获取列列表并对其进行迭代,但我没有得到预期的结果。我正在使用 jupyternotebook 中的熊猫

标签: pythonpandasdataframefilter

解决方案


您可以df.eq在此处使用并传递要比较的值列表。

values = ['A', 'B', 'C']
out = df.loc[:, 'Col1':].eq(values).sum()

Col1    2
Col2    3
Col3    3
dtype: int64

推荐阅读