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

如何在DataFrame中按Y列分组,计算指定列的均值与最大值?

按Y列分组聚合DataFrame:计算X均值与Z/A/B最大值

原始DataFrame

X      Y      Z      A      B
1    7.9    0.2    0.6    0.3    0.75
2    8.9    0.2    0.1    0.8    0.60
3    8.9    0.2    0.9    0.0    0.45
4    4.3    0.3    2.3    0.3    0.35
5    7.8    0.3    2.0    0.6    0.36
6    8.9    0.3    1.3    0.4    0.34
7    1.2    3.4    4.0    3.0    3.50
8    7.8    9.0    0.0    9.0    9.50

需求说明

  • 按Y列分组
  • 每组内计算:
    • X列的平均值(保留两位小数)
    • Z、A、B列的最大值

实现代码

import pandas as pd

# 构造原始DataFrame
df = pd.DataFrame({
    'X': [7.9, 8.9, 8.9, 4.3, 7.8, 8.9, 1.2, 7.8],
    'Y': [0.2, 0.2, 0.2, 0.3, 0.3, 0.3, 3.4, 9.0],
    'Z': [0.6, 0.1, 0.9, 2.3, 2.0, 1.3, 4.0, 0.0],
    'A': [0.3, 0.8, 0.0, 0.3, 0.6, 0.4, 3.0, 9.0],
    'B': [0.75, 0.60, 0.45, 0.35, 0.36, 0.34, 3.50, 9.50]
}, index=range(1,9))

# 分组聚合并调整列顺序
result = df.groupby('Y').agg(
    X=('X', lambda x: round(x.mean(), 2)),
    Z=('Z', 'max'),
    A=('A', 'max'),
    B=('B', 'max')
).reset_index()[['X', 'Y', 'Z', 'A', 'B']]

print(result)

输出结果

X    Y    Z    A     B
0  8.56  0.2  0.9  0.8  0.75
1  7.00  0.3  2.3  0.6  0.36
2  1.20  3.4  4.0  3.0  3.50
3  7.80  9.0  0.0  9.0  9.50

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 20:40:31