【发布时间】:2017-12-14 22:44:58
【问题描述】:
我有一个带有日期格式索引的熊猫数据框(股票价格)。它是每天的,但仅适用于工作日。 我基本上尝试计算年初至今和一年前的一些价格表现。 为了在我的数据框中获取实际年份的第一个日期,我使用了以下方法:
today = str(datetime.date.today())
curr_year = int(today[:4])
curr_month = int(today[5:7])
first_date_year = (df[str(curr_year)].first_valid_index())
现在我尝试获取最接近一年前的日期(距 last_valid_index() 正好一年)。我可以提取月份和年份,但它不会那么精确。有什么建议吗?
谢谢
【问题讨论】:
-
“一年前”是什么意思? 52 周、365 天还是 1 年?对于舒适的日期计算,我建议使用
arrow模块,该模块提供.shift()method。 -
所以你想得到最接近一年前的工作日?当一年有假期而另一年没有假期时,你会怎么做?
标签: python pandas date datetime dataframe