【问题标题】:separating each stock data into individual dataframe将每个股票数据分成单独的数据框
【发布时间】:2018-07-02 12:59:34
【问题描述】:

我获取了 100 只股票的历史数据。它是一个包含所有代码和相应数据的单个文件。如何循环以使每个股票数据在具有自己名称的数据框中分开?我已经尝试过了,但这不起作用。

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)

【问题讨论】:

  • 我试过创建一个字典,但是字典的值是一个数据框。如何通过仅选择一列(daily_returns 列)使其成为系列?我想要这样 dfs= { 'ABBV' : 0.0042, 0.0067 ..., 'JCI': ....}
  • 或者如何将这个 dfs 字典转换为数据框??

标签: python pandas dataframe stocks ticker


【解决方案1】:

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

dfs = dict(tuple(data.groupby('ticker')))

然后,如果您愿意,可以通过迭代字典项导出到 csv:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-25
    • 1970-01-01
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2011-03-15
    • 1970-01-01
    相关资源
    最近更新 更多