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

如何用Pandas GroupBy按物种计算均值?现有代码仅能算列整体均值

按物种分组计算均值的Pandas实现方案

没问题,我来帮你把代码改成按物种分组计算均值的版本,用Pandas的GroupBy功能处理这类带分类标签的统计需求特别顺手!

原代码的局限

你之前用Numpy的方式只能计算整列的整体均值,没法关联到每个物种的分组信息——而Pandas的DataFrame可以把数值数据和分类标签(比如物种)绑定在一起,完美解决这个问题。

改造后的完整代码

# 导入Pandas库
import pandas as pd

# 读取鸢尾花数据集,假设最后一列是物种名称;如果你的csv有表头,去掉header=None和names参数即可
df = pd.read_csv('data/iris.csv', header=None, names=['sepal_length', 'sepal_width', 'petal_length', 'petal_width', 'species'])

# 按物种分组,计算所有数值列的均值
species_grouped_means = df.groupby('species').mean()

# 打印结果
print("各物种的特征均值:")
print(species_grouped_means)

# 如果只想单独看某一列(比如第一列sepal_length)的分组均值,可以这样写
# print("各物种的花萼长度均值:")
# print(df.groupby('species')['sepal_length'].mean())

代码解释

  • pd.read_csv(...):把csv文件读取成DataFrame,这里给每一列指定了名称(如果你的原始数据已经有表头,直接用pd.read_csv('data/iris.csv')就行)。
  • groupby('species'):按照species列的不同取值(也就是不同物种)对数据进行分组。
  • .mean():对每个分组里的所有数值列自动计算均值,最终会返回一个以物种为索引、各特征均值为列的结果表。

这样你就能清晰看到每个物种对应的各项特征均值啦!

内容的提问来源于stack exchange,提问作者C. Drummond

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:53:18