Python 我可以构建一个循环函数,一次自动创建多个数据帧吗?

Python 我可以构建一个循环函数,一次自动创建多个数据帧吗?,python,pandas,Python,Pandas,我一直在努力解决这个编码难题。我已经建立了一个程序,对单个股票符号进行建模和预测。它工作得很好,但我已经准备好将它提升到一个新的层次,像我这样的用户可以一次预测多个股票符号,而不是运行应用程序,让不同股票的时间成倍增长。这是一个耗时的过程,分别为10+种不同的股票运行我的程序,出于效率原因,我更愿意创建一个股票列表供我的程序运行 下面是我的代码,它从yfinance提取股票数据并将其转换为数据帧 #stock symbol ticker = "FB" # mm-dd-yy formate sta

我一直在努力解决这个编码难题。我已经建立了一个程序,对单个股票符号进行建模和预测。它工作得很好,但我已经准备好将它提升到一个新的层次,像我这样的用户可以一次预测多个股票符号,而不是运行应用程序,让不同股票的时间成倍增长。这是一个耗时的过程,分别为10+种不同的股票运行我的程序,出于效率原因,我更愿意创建一个股票列表供我的程序运行

下面是我的代码,它从yfinance提取股票数据并将其转换为数据帧

#stock symbol
ticker = "FB"
# mm-dd-yy formate
start_date = "01-01-2014"
end_date =  "11-20-2019"

#the code to pull data from yfinance
df = pdr.get_data_yahoo(ticker, start=start_date, end=end_date )
我经常遇到的问题是,我不知道如何正确地自动创建数据帧,因为每个数据帧都有一个唯一的名称,我可以在列表中传递到我的模型中。(甚至可以为我的模型设置一个要通过的数据帧列表吗?)

这就是我的想法:

#stock symbols (I want to insert as many symbols as I can to automate my workflow. this example uses 4 stocks, but one day I might test 10 or 15)
tickers = ["FB","D","COF","WING"]
# mm-dd-yy formate
start_date = "01-01-2014"
end_date =  "11-20-2019"


#the code to pull data from yfinance
for stock in tickers:
     df = pdr.get_data_yahoo(tickers, start=start_date, end=end_date)
     return df
我与高级循环作斗争。我不知道如何将多个
股票代码字符串
传递到
pdr。获取数据\u yahoo()
,每个股票的每个单独结果都带有DF。数据帧需要唯一命名,没有什么太复杂,并且是同构的。例如,如果我想测试1只股票,或者一次测试20只股票,同时在循环中传递多个数据帧以供模型评估,那么我需要这个应用程序工作

在此,我将非常感谢您的指导

这个答案可能会有帮助:

文章中建议的方法是创建一个字典,将数据帧存储为值,股票代码存储为键

df_dict = {}
for stock in tickers:
     df = pdr.get_data_yahoo(tickers, start=start_date,end=end_date)
     df_dict[stock] = df
然后,您可以使用股票代码作为键遍历字典

这个答案可能会有帮助:

文章中建议的方法是创建一个字典,将数据帧存储为值,股票代码存储为键

df_dict = {}
for stock in tickers:
     df = pdr.get_data_yahoo(tickers, start=start_date,end=end_date)
     df_dict[stock] = df

然后,您可以使用股票代码作为键遍历字典

查尔斯,谢谢你的帮助和贡献。不过,你的帖子很好,帮助我暂时克服了这个障碍。当我使用你的方法时,它为所有人创建了一个数据帧,我想为每个模型单独创建一个uniqe DF。Charles,感谢你的帮助和贡献。不过,你的帖子很好,帮助我暂时克服了这个障碍。当我使用您的方法时,它会为所有模型创建一个数据帧,我想为每个模型单独创建一个uniqe DF。