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

如何将DataFrame中分组的Value列替换为组内最小值?

按分组替换列值为组内最小值

可以用 pandas 的 groupby 结合 transform 方法快速实现需求,具体步骤如下:

  1. 导入 pandas 并构造示例数据:
import pandas as pd

df = pd.DataFrame({
    'Group': ['A', 'A', 'A', 'B', 'B', 'B'],
    'Value': [1, 4, 5, 10, 7, 15]
})
  1. 核心处理代码:
# 按Group分组后,将每组的Value列替换为该组的最小值
df['Value'] = df.groupby('Group')['Value'].transform('min')
  1. 处理后的结果:
Group  Value
0     A      1
1     A      1
2     A      1
3     B      7
4     B      7
5     B      7

原理说明

  • groupby('Group')['Value'].min() 会计算出每个分组的最小值,得到一个包含两个元素的 Series(A组为1,B组为7)。
  • transform('min') 会把这个最小值广播到对应分组的每一行,返回一个和原 DataFrame 行数一致的 Series,因此可以直接赋值给原 Value 列完成替换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 15:45:53