You need to enable JavaScript to run this app. 如何按列值筛选定义新DataFrame并对指定列运行.describe()统计?
优惠活动
大模型
产品
解决方案
定价
更多

如何按列值筛选定义新DataFrame并对指定列运行.describe()统计?

pandas 列值筛选与指定列统计实现方案

你可以通过两步完成需求:先通过布尔索引筛出指定车型的行生成独立新DataFrame,再对目标列调用内置统计方法即可,没有额外依赖。

具体操作步骤

  • 第一步:生成筛选后的目标DataFrame
    匹配Car Type列值为Sedan的所有行,核心代码为:
    sedan_df = df[df["Car Type"] == "Sedan"]
  • 第二步:对目标列运行汇总统计
    从筛选结果中取出kilometers列,调用.describe()方法,即可输出该列的计数、均值、标准差、极值、分位数等全量汇总统计,核心代码为:
    km_summary = sedan_df["kilometers"].describe()

可直接运行的完整示例

import pandas as pd

# 加载/构造数据集
df = pd.DataFrame({
    "Car Type": ["Sedan", "SUV", "Sedan", "Truck", "Sedan", "SUV"],
    "kilometers": [12000, 35000, 28000, 52000, 18000, 41000]
})

# 筛选Sedan车型的行
sedan_df = df[df["Car Type"] == "Sedan"]
# 输出kilometers列的统计结果
print(sedan_df["kilometers"].describe())

实操注意事项

  • 因Car Type列名包含空格,不能使用点语法直接访问(即df.Car Type),这类写法会直接触发Python语法错误,带空格的列必须通过中括号包裹字符串的方式索引。
  • 如果不需要长期保留筛选后的中间数据,可以直接用链式写法一步完成统计,省去中间变量:
    df.loc[df["Car Type"] == "Sedan", "kilometers"].describe()
    该写法执行效率更高,也不会产生临时的筛选后DataFrame占用内存。
  • 列值匹配需要和原始数据完全一致(包括大小写、前后多余空格),如果出现筛选结果为空、统计结果为NaN的情况,可以先运行df["Car Type"].unique()查看该列的实际取值,调整匹配规则避免错配。

内容的提问来源于stack exchange,提问作者Aaron E Larson

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 15:45:07