python - 将 pandas DataFrame DatetimeIndex 延长 25 个工作日

标签 python pandas datetime indexing

我一直在尝试将我的 Pandas DataFrame 日期索引延长 25 个工作日。我编写的以下测试示例演示了该问题。正在正确生成工作日,但是,它们没有附加到 DataFrame。

import pandas as pd
from business_calendar import Calendar

dates = pd.date_range('20190121', periods=5)
df = pd.DataFrame({'high': (58.22, 57.93, 57.51, 57.89, 58.77), 'low': (57.65, 57.15, 56.98, 57.12, 58.00)}, index=dates)

cal = Calendar()
last_idx = df.index[-1].date()
for i in range(1, 26):
    weekdays = pd.DatetimeIndex([cal.addbusdays(last_idx, i)])
    print("idx_count: {:2d} idx: {}".format(i, weekdays))
    df.index.append(weekdays)
print(df.index)

代码以错误级别 0 退出,知道为什么 DataFrame 没有按预期更新吗?

最佳答案

您正在尝试以工作日为索引向 Dataframe 添加行,因此一种简单的方法是

for i in range(1, 26):
   weekdays = pd.DatetimeIndex([cal.addbusdays(last_idx, i)])
   #If you want the values to be na
   newRow = pd.DataFrame(index=weekdays)
   #Or if you want to give values to the new rows
   newRow = pd.DataFrame({'high': (42), 'low': (0)}, index=weekdays)

   df = df.append(newRow)

del newRow
print(df.index)

关于python - 将 pandas DataFrame DatetimeIndex 延长 25 个工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54420549/

相关文章:

python - 什么才算算法?

Python:无法从文件中替换行

python - 从数据帧的两列中提取值以创建键和值的字典

datetime - 尽管服务器区域设置正确设置,但仅服务器上的 LSParseDateTime 函数出现问题

python - utcoffset 方法在 datetime 中的作用 - Python

python - 通过返回对象方法对对象列表进行排序

java - 为在线多人游戏构建服务器

python-3.x - 如何连接列时间值在一定范围内且不是日期时间或时间戳对象的两个数据帧?

python - 如何从 python 中的 df 中提取每小时数据?

android - 如何将本地时间转换为UTC时间?