假设您的目标是春季月份(可能是 1 月 1 日到 4 月 30 日,可能会发生变化),您可以创建一个list日期tuples,其中每个日期都tuple包含给定的start和end日期year。例如, 的第一个元素list是(datetime.datetime(2000, 1, 1, 0, 0), datetime.datetime(2000, 4, 30, 0, 0)). 这将是 2000 年 1 月 1 日至 4 月 30 日。
一旦你有了你list的日期tuples,你就可以遍历它们并为每个日期组合获取start数据end。结果也将是 a list,但这次将是listDataFrames 的pandasa,您可以很容易地将它们连接在一起以获得所需的数据集。以下应作为工作脚本:
import pandas_datareader.data as web
import datetime
import pandas as pd
all_dates = [(datetime.datetime(year, 1, 1), datetime.datetime(year, 4, 30)) for year in range(2000, 2011)]
f = pd.concat([web.DataReader("F", 'yahoo', start, end) for start, end in all_dates], axis=1)
print(f.tail())
# Close Volume Adj Close
# Date
# 2010-04-26 14.46 123029200.0 11.684445
# 2010-04-27 13.57 292667400.0 10.965278
# 2010-04-28 13.25 208023500.0 10.706701
# 2010-04-29 13.58 110114400.0 10.973358
# 2010-04-30 13.02 146322900.0 10.520849
我希望这有帮助。