【发布时间】:2022-06-22 22:33:14
【问题描述】:
我的 df 看起来像这样:(df 中还有几十个其他列,但这是我关注的三个)
Param Value Limit
A 1.50 1
B 2.50 1
C 2.00 2
D 2.00 2.5
E 1.50 2
我正在尝试使用 pandas 来计算每个 [Param] 有多少 [Value] 小于 [Limit],希望得到这样的列表:
Param Count
A 1
B 1
C 1
D 0
E 0
我尝试了几种方法,第一种是
value_count = df.loc[df['Value'] < df['Limit']].count()
但这只是给出了 df 中每列的完整计数。
我还尝试了 groupby 函数,我认为这可能是正确的想法,方法是使用所选列创建 df 的子集
df_below_limit = df[df['Value'] < df['Limit']]
df_below_limit.groupby('Param')['Value'].count()
这几乎是我想要的,但它不包括我也需要的值。不知道如何获取我需要的列表。
【问题讨论】:
标签: python pandas dataframe group-by