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

pandas DataFrame如何按Field1分组筛选后计算Field2最大值生成新标记列

你的代码存在两个核心问题:

  1. 读取csv文件时没有将结果赋值给df变量,后续操作df会直接抛出未定义错误
  2. 现有逻辑仅计算了分组内Field2的最大值,没有实现「分组长度大于2」、「当前行Field2等于组内最大值」的双重判断逻辑

修正后可直接运行的代码

import pandas as pd 
# 读取数据并赋值给df变量
df = pd.read_csv("c:/test.csv")

# 按Field1分组,分别计算每个分组的记录数、Field2最大值
g = df.groupby("Field1")["Field2"]
group_cnt = g.transform("count")
group_max_val = g.transform("max")

# 生成Field3字段:同时满足分组长度>2、当前行Field2为组内最大值时为True,否则为False
df["Field3"] = (group_cnt > 2) & (df["Field2"] == group_max_val)

上述代码默认不符合条件的行返回False,和你的预期输出效果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:09:03