gpt4 book ai didi

python - 使用 for 循环遍历日期

转载 作者:太空宇宙 更新时间:2023-11-03 14:58:50 25 4
gpt4 key购买 nike

我正在尝试使用以下方法循环遍历给定时间段内的所有日期:

disp_start = dt.datetime(2017,1,6)           #####START DATE
disp_data = closingprices.loc[disp_start:] #closing prices is data w/ stock prices

for date in disp_data.index:
returns = (closingprices.iloc[-1].divide(closingprices.iloc[date]))-1

但出现此错误:

TypeError: cannot do positional indexing on <class 'pandas.core.indexes.datetimes.DatetimeIndex'> with these indexers [2017-01-06 00:00:00] of <class 'pandas._libs.tslib.Timestamp'>

不确定如何循环遍历给定开始日期 (disp_start) 的所有期间。谢谢

最佳答案

我认为你需要DataFrame.loc通过标签选择,因为 DataFrame.iloc用于按位置选择:

for date in disp_data.index:
returns = (closingprices.iloc[-1].divide(closingprices.loc[date]))-1

如果由于某种原因需要iloc,可以使用 Index.get_loc :

for date in disp_data.index:
returns = (closingprices.iloc[-1].divide(closingprices.iloc[df.index.get_loc(date)]))-1

关于python - 使用 for 循环遍历日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45295701/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com