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

Jupyter Notebook中如何基于日期列新增行并生成按日期求和的数据集

问题解答

是可以通过追加匹配共有列的行来创建新数据集的,你需要的按日期合并数据、按日期汇总求和的需求可以通过Python数据处理库pandas实现,具体操作步骤如下:

1. 环境准备

首先确保你已经安装pandas,在Jupyter Notebook的单元格中运行以下代码导入库:

import pandas as pd

2. 合并多份同结构数据集(追加共有列行)

如果你有多份结构一致、包含共有列的数据集(例如多个csv文件、多个DataFrame对象),可以用pd.concat()方法完成行追加合并:

2.1 手动合并指定的多个DataFrame

假设你的原数据集为df_origin,其他待合并的数据集为df1、df2,执行以下代码即可合并为整体数据集:

# 仅保留所有数据集的共有列再合并,避免非共有列生成空值
common_cols = list(set(df_origin.columns) & set(df1.columns) & set(df2.columns))
merged_df = pd.concat(
    [df_origin[common_cols], df1[common_cols], df2[common_cols]],
    ignore_index=True # 重置行索引,避免旧索引重复
)

2.2 批量合并文件夹下所有同结构CSV文件

如果待合并的数据都存在同一个文件夹的CSV文件中,可以用以下代码批量读取合并:

import os

# 替换为你存放CSV文件的文件夹路径
folder_path = './your_csv_folder'
# 提取文件夹下所有CSV文件路径
csv_files = [os.path.join(folder_path, f) for f in os.listdir(folder_path) if f.endswith('.csv')]

df_list = []
for file in csv_files:
    df = pd.read_csv(file)
    # 可选:统一列名格式,避免因为空格、大小写不一致导致列匹配失败
    df.columns = df.columns.str.strip().str.lower()
    df_list.append(df)

merged_df = pd.concat(df_list, ignore_index=True)

3. 按日期统计数值总和

首先确保合并后的数据集的日期列为标准日期格式,再按日期分组求和即可:

# 替换为你实际的日期列名,将列转为日期格式
merged_df['date'] = pd.to_datetime(merged_df['date'])

# 按日期分组求和,替换为你实际的数值列名,如需对所有数值列求和可删除['value']部分
sum_by_date = merged_df.groupby('date', as_index=False)['value'].sum()

运行后得到的sum_by_date就是按日期统计数值总和的数据集,merged_df就是所有数据合并后的整体数据集。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:27:05