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

如何用Python的yfinance聚合两日股票历史数据?修改日期戳为周期末日期

解决两日工作日聚合后日期戳显示结束日期的问题

没问题!要把freq='2B'聚合后的日期戳从周期起始日期改成结束日期,有两种简单直接的方法,我给你详细说下:

方法一:聚合时直接指定参数

在使用resample聚合的时候,加上closed='right'和label='right'这两个参数就能直接让结果的索引显示周期的最后日期。比如你原来的聚合代码可能是这样的:

df.resample('2B').sum()  # 这里索引显示周期起始日期

只需要改成:

df.resample('2B', closed='right', label='right').sum()
  • closed='right':表示将周期的**右侧(结束日期)**作为闭合边界,也就是聚合时包含结束日期的数据
  • label='right':指定用周期的右侧日期作为结果的索引标签,这样就直接显示你想要的结束日期了

方法二:聚合后调整索引

如果已经完成了聚合操作,也可以事后修改索引,给每个起始日期加上一个工作日的偏移,就能得到对应的结束日期:

import pandas as pd

# 假设df是已经聚合好的结果
df.index = df.index + pd.offsets.BDay(1)

因为2B是两个工作日的周期,起始日期加1个工作日正好就是这个周期的最后一个工作日,这样索引就会变成你想要的结束日期啦。

举个例子,如果你聚合2023-01-16和2023-01-17的数据,用上面任意一种方法,最终的索引都会显示为2023-01-17,完全符合你的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 10:45:28