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

如何在Pandas DataFrame中每日新增一条记录至新行?

每日追加新增数据到聚合DataFrame的方法

1. 统一日期列格式

先确保已有DataFrame和新增数据的Date列都是datetime类型,避免因格式不匹配出现重复或错误:

import pandas as pd

# 转换历史数据的Date列为datetime格式
historical_df['Date'] = pd.to_datetime(historical_df['Date'])

2. 构造每日新增数据

根据每日获取数据的形式,构造对应格式的DataFrame:

单条当日数据

如果每天只获取当日的聚合值:

# 示例:2022-12-10的聚合值为0.45
new_data = pd.DataFrame({
    'Date': ['2022-12-10'],
    'Agg_Value': [0.45]
})
new_data['Date'] = pd.to_datetime(new_data['Date'])

批量新增数据

如果是补录遗漏日期或批量获取多条数据,直接构造结构一致的DataFrame即可。

3. 追加并去重(核心步骤)

直接追加可能导致重复日期的数据,先筛选出历史数据中没有的新增记录,再合并:

# 筛选新增数据中未存在于历史DataFrame的日期
unique_new_data = new_data[~new_data['Date'].isin(historical_df['Date'])]

# 合并到历史DataFrame
historical_df = pd.concat([historical_df, unique_new_data], ignore_index=True)

# 可选:按日期重新排序,保持数据有序
historical_df = historical_df.sort_values('Date').reset_index(drop=True)

4. 持久化保存(可选)

如果需要长期保留更新后的数据,可保存到文件以便下次直接加载:

# 保存为CSV文件
historical_df.to_csv('aggregated_data.csv', index=False)

# 下次启动时加载数据
historical_df = pd.read_csv('aggregated_data.csv', parse_dates=['Date'])

示例效果

追加后DataFrame将更新为:

Date  Agg_Value
0 2022-12-07       0.43
1 2022-12-08       0.44
2 2022-12-09       0.41
3 2022-12-10       0.45
...       ...        ...

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 06:50:50