You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Pandas计算指定列数值高于30的行占总数据行数的百分比

Pandas 实现统计指定列数值大于30的行占比

核心逻辑

Pandas 中布尔Series的mean()方法可以直接计算符合条件的行占比,无需手动筛选计数,处理大型数据集时效率更高。

实现步骤

  • 首先确认你的数据集已经读取为Pandas DataFrame对象,假设变量名为df,下文示例中用target_col代指你需要统计的指定列,使用时替换为实际列名即可
  • 可选前置处理:如果指定列可能存在非数值类型数据,先做类型转换,避免后续判断报错:
import pandas as pd
# 转换为数值类型,无法转换的内容会设为空值NaN
df['target_col'] = pd.to_numeric(df['target_col'], errors='coerce')
# 如果需要排除空值行再统计,先过滤空值
df = df[df['target_col'].notna()]
  • 核心统计代码:
# 得到小数形式的占比,比如0.35对应35%
ratio = (df['target_col'] > 30).mean()
# 转换为带百分号、保留2位小数的字符串格式,匹配预期输出
result = f"{ratio * 100:.2f}%"
print(result)

示例验证

用测试数据验证效果:

# 构造测试数据集
df = pd.DataFrame({
    'id': range(1,7),
    'target_col': [12,45,32,28,50,18]
})
# 执行统计
ratio = (df['target_col'] > 30).mean()
print(f"{ratio*100:.2f}%")
# 输出结果:50.00%
# 符合计算逻辑:6行中有3行数值大于30,占比50%

内容的提问来源于stack exchange,提问作者Kamikaze K

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:33:01