假设您的目标是春季月份(可能是 1 月 1 日至 4 月 30 日,可能会有所变化),您可以创建一个日期为 tuples 的 list,其中每个 tuple 包含 start 和 end 日期对于给定的year。例如,list 的第一个元素是(datetime.datetime(2000, 1, 1, 0, 0), datetime.datetime(2000, 4, 30, 0, 0))。这将是 2000 年 1 月 1 日至 4 月 30 日。
一旦您有了日期为tuples 的list,您就可以遍历它们并获取start 和end 日期的每个组合的数据。结果也将是 list,但这次将是 list 的 pandas DataFrames,您可以很容易地将它们连接在一起以获得所需的数据集。以下应作为工作脚本:
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
我希望这会有所帮助。