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

如何使用Python Pandas复现R实现的自定义数据聚合逻辑

Pandas 实现对应R代码的分组聚合方案

你给出的R dplyr逻辑可以完全通过pandas的groupby方法实现,不需要使用pivot_table,逻辑和输出完全对齐:

完整实现代码

import pandas as pd

# 按A/B/C/D/E/F六列分组,对应R的group_by逻辑,as_index=False避免分组键转为索引
df1 = df.groupby(['A', 'B', 'C', 'D', 'E', 'F'], as_index=False).agg(
    # 对应R的v1、v2计算规则
    v1 = ('v1', lambda val: (val / 7) * 6),
    v2 = ('v2', lambda val: (val / 7) * 6),
    # 对应R的v3取分组均值
    v3 = ('v3', 'mean')
)

# 若需要和你给出的预期输出列完全一致,去掉不需要的F列即可
df1 = df1.drop(columns=['F'])

逻辑对齐说明

  • 原R代码中每个(A,B,C,D,E,F)的分组在你提供的样例中仅对应1行数据,因此v3取均值的结果和原始值完全一致,符合预期输出
  • as_index=False参数对应R代码末尾的data.frame()效果,分组键会作为普通列保留,不会转为DataFrame的索引
  • 该实现为pandas原生向量化操作,面对大数据量也能保持较好的运行性能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 14:45:08