我正在使用 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
等进行导航。
我发现有两个函数 astype
和 resample
。因为我已经知道 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/