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

如何在pandas中临时重命名DataFrame列 实现SQL的AS别名效果

pandas实现分组查询并重命名列的方法

你给出的SQL如果运行在非严格模式的MySQL环境下,会按name1分组后取每组第一条记录的name1、name2字段,并重命名返回,以下是两种pandas实现方案:


方案1:分组取数后单独重命名

先按指定列分组取数,再调用rename方法修改列名,兼容性更强:

import pandas as pd

# 假设你的原始DataFrame名为df
# 按name1分组,取每组第一条记录的name1、name2列
res = df.groupby("name1", as_index=False)[["name1", "name2"]].first()
# 重命名列
res = res.rename(columns={
    "name1": "different_name",
    "name2": "some_name"
})

# 打印输出结果
print(res)

方案2:聚合时直接指定重命名规则

pandas 0.25及以上版本支持NamedAgg语法,可以在分组聚合时直接完成列重命名,写法更简洁:

res = df.groupby("name1", as_index=False).agg(
    different_name = ("name1", "first"),
    some_name = ("name2", "first")
)

print(res)

注意事项

  • 示例中的first表示取分组内第一条对应字段的值,和非严格模式下MySQL的GROUP BY行为一致。如果需要对name2做其他聚合运算,可将first替换为sum(求和)、mean(求平均)、count(计数)等对应聚合函数。
  • 参数as_index=False用于避免分组列变成索引,最终输出格式和SQL查询结果一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 19:24:04