如何统计frames DataFrame中ratio>0.05且dif在15-30的记录次数?
统计DataFrame中满足指定条件的记录次数
要统计frames DataFrame中满足ratio列数值>0.05且dif列数值介于15到30之间的记录次数,可按以下步骤操作:
步骤1:构建筛选条件
使用布尔索引组合两个条件,注意用&连接时每个条件需用括号包裹:
# 条件:ratio>0.05,且dif在15到30之间(默认包含边界值) filter_condition = (frames['ratio'] > 0.05) & (frames['dif'].between(15, 30))
如果需要排除15和30这两个边界值,可以给between添加参数:
filter_condition = (frames['ratio'] > 0.05) & (frames['dif'].between(15, 30, inclusive='neither'))
步骤2:统计符合条件的记录数
有两种简洁的方式计算次数:
- 方法一:直接对布尔条件求和(True会被视为1,False视为0)
count = filter_condition.sum()
- 方法二:先筛选出符合条件的子DataFrame,再取其长度
filtered_data = frames[filter_condition] count = len(filtered_data)
针对示例数据的结果
你提供的示例数据中,所有ratio值均≤0,没有满足ratio>0.05的记录,因此最终统计结果为0。
内容的提问来源于stack exchange,提问作者span_path
相关产品推荐
相关产品推荐

