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

如何用Python按MD列和月份合并DataFrame多行?

Python实现按MD列和月份合并多行数据

假设你的数据是包含日期列、MD列及其他数值列的表格结构,以下是用pandas实现合并的具体方案:

步骤1:导入依赖库

import pandas as pd

步骤2:读取/构造数据

替换成你实际的读取方式(比如pd.read_excel或pd.read_csv),这里先模拟示例数据:

# 示例数据,可替换为你的真实数据
data = {
    "date": ["2024-01-03", "2024-01-15", "2024-01-28"],
    "MD": ["MD001", "MD001", "MD001"],
    "sales": [1200, 800, 1500],
    "visits": [30, 25, 40]
}
df = pd.DataFrame(data)

步骤3:提取月份分组依据

将日期列转为日期格式,并提取年份+月份作为分组维度:

df["date"] = pd.to_datetime(df["date"])
# 新增YYYY-MM格式的月份列
df["month"] = df["date"].dt.to_period("M")

步骤4:按MD和月份分组聚合

根据你的需求定义各列的聚合规则,比如数值列求和、非数值列保留首个值:

# 自定义聚合规则,可根据实际需求调整
agg_rules = {
    "date": "first",  # 保留该组第一条记录的日期
    "sales": "sum",    # 对sales列求和
    "visits": "sum"    # 对visits列求和
}

# 执行分组合并
merged_df = df.groupby(["MD", "month"], as_index=False).agg(agg_rules)

步骤5:查看合并结果

print(merged_df)

你可以根据实际列名和业务需求修改agg_rules,比如需要取均值用"mean"、取最大值用"max",或者对文本列用"first"保留首个内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 16:56:01