Python 将每个股票数据分离为单个数据帧

Python 将每个股票数据分离为单个数据帧,python,pandas,dataframe,stocks,ticker,Python,Pandas,Dataframe,Stocks,Ticker,我收集了100只股票的历史数据。它是一个文件,包含所有带有相应数据的标记。如何循环,使每个股票代码数据在dataframe中以自己的名称分开?我试过了,但没用 for ticker in stocks: print(ticker) tick=pd.DataFrame(data.loc[(data.ticker==ticker)]) tick['returns']=tick.close.pct_change() value='daily_returns_'+str

我收集了100只股票的历史数据。它是一个文件,包含所有带有相应数据的标记。如何循环,使每个股票代码数据在dataframe中以自己的名称分开?我试过了,但没用

for ticker in stocks:
    print(ticker)
    tick=pd.DataFrame(data.loc[(data.ticker==ticker)])
    tick['returns']=tick.close.pct_change()

    value='daily_returns_'+str(ticker)
    value=tick[['date']]
    value['returns']=tick['returns']
    print(value)

    ex=str(value)+'.csv'
    value.to_csv(ex)

任意变量名被认为是不好的做法。相反,您可以为可变数量的变量定义字典:

dfs = dict(tuple(data.groupby('ticker')))
然后,如果愿意,通过迭代字典项导出到csv:

for k, v in dfs.items():
    v.to_csv(k+'.csv', index=False)

我尝试创建一个字典,但字典的值是一个数据帧。如何通过只选择一列(每日返回列)使其成为一个系列?我想要像这样的dfs={'ABBV':0.0042,0.0067…,'JCI':..}或者如何将此dfs字典转换为数据帧??