Python统计DataFrame满足指定列值筛选条件的行数量方法咨询
Pandas DataFrame 条件计数实现方法
单条件统计(温度<=2的总行数)
直接对目标列做布尔判断后求和即可,布尔值True会被识别为1、False识别为0,求和结果就是符合条件的行数:
# 方法1:直接布尔求和(性能更高,无需生成中间子集) count = (df['Temperature'] <= 2).sum() # 方法2:筛选符合条件的子集后取长度 count = len(df[df['Temperature'] <= 2])
你之前用到的value_counts()也可以实现,但仅适合离散值枚举的场景,范围判断用上述方法更高效。
多条件统计(仅巴黎且温度<=2的行数)
多条件并列需要用&(与)连接,每个条件必须加括号避免运算符优先级错误:
# 布尔求和写法 count = ((df['Town'] == '巴黎(Paris)') & (df['Temperature'] <= 2)).sum() # 也可以用query方法简化写法 count = len(df.query("Town == '巴黎(Paris)' and Temperature <= 2"))
用你提供的样例数据测试,返回结果为3,符合实际数据情况。
内容的提问来源于stack exchange,提问作者newmemberoctober19
相关产品推荐
相关产品推荐

