如何为Datetime Series添加日期,生成含昨日及前两天的时间序列?
为Datetime Series添加连续历史日期的方法
假设你已经有一个仅包含昨日日期的Pandas Datetime Series,以下是生成包含昨日、前天、大前天日期的Series的具体操作:
方法一:分步实现
提取基准日期:从原Series中取出昨日的日期值作为基准
import pandas as pd # 示例原Series original_series = pd.Series(pd.to_datetime(['2024-08-29 00:00:00'])) base_date = original_series.iloc[0]生成补充日期:基于基准日期,生成往前推1天(前天)和2天(大前天)的日期
additional_dates = pd.Series([base_date - pd.Timedelta(days=1), base_date - pd.Timedelta(days=2)])合并并整理:将原Series与补充日期合并,再按日期降序排列以匹配预期结果
new_series = pd.concat([original_series, additional_dates], ignore_index=True) new_series = new_series.sort_values(ascending=False).reset_index(drop=True)
方法二:简化代码实现
直接通过列表推导式生成所有目标日期,一步得到结果:
new_series = pd.Series( [original_series.iloc[0] - pd.Timedelta(days=i) for i in range(3)] ).sort_values(ascending=False).reset_index(drop=True)
最终结果
运行后得到的new_series如下:
0 2024-08-29 00:00:00 1 2024-08-28 00:00:00 2 2024-08-27 00:00:00 dtype: datetime64[ns]
内容的提问来源于stack exchange,提问作者Vega
相关产品推荐
相关产品推荐

