python - 创建 DataFrame 后设置 pandas DatetimeIndex 的频率

标签 python pandas

我正在使用 pandas datareader 获取股票数据。

import pandas as pd
import pandas_datareader.data as web
ABB = web.DataReader(name='ABB.ST', 
                     data_source='yahoo',
                     start='2000-1-1')

然而,默认情况下,结果数据帧上未设置频率。 我需要 freq 才能使用这样的索引进行导航:

for index, row in ABB.iterrows():
    ABB.loc[[index + 1]]

如果没有在 DatetimeIndex 上设置频率,我将无法使用 +1 等进行导航。

我发现有两个函数 astyperesample。因为我已经知道 freq resample 看起来有点矫枉过正,所以我只想将 freq 设置为 daily。

现在我的问题是如何在 ABB 上使用 astype 将频率设置为每日?

最佳答案

尝试:

ABB = ABB.asfreq('d')

对于没有数据的日子,这应该将频率更改为每天使用 NaN

此外,您应该按如下方式重写您的for-loop:

for index, row in ABB.iterrows():
    print(ABB.loc[[index + pd.Timedelta(days = 1)]])

谢谢!

关于python - 创建 DataFrame 后设置 pandas DatetimeIndex 的频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41535322/

相关文章:

python - 在 Pandas 中按条件分配值(value)的最佳方式

javascript - Sphinx 和 JavaScript 文档工作流

python - 如何在 Python 3.6 中执行 2 个协程

python - PyQt5。从单独的线程控制 GUI

python - 是否可以使键盘模块与 pygame 和线程一起使用

python - Twisted、MySQLdb 和 (2006, 'MySQL server has gone away') 使用 Twisted adbapi

python - 如何通过 Python 中的偶数/奇数列更改列名

python - 如何加快导入大型 xlsx 文件的速度?

python - 如何惩罚决策树错误分类某个类?

python - 将重复列名列表和值列表转换为数据框