[英]Multiplie time-series into dataframe
我需要根据多个股价时间序列创建一个数据框。 时间序列的来源是quandl。 我的循环创建了一个数据框,但未正确添加时间序列。
import quandl
import datetime
tickers=['MMM','AOS','ABT']
for stock in range(len(tickers)):
series = (quandl.get("WIKI/" + tickers[stock], start_date='2014-12-31', end_date='2018-12-31')['Adj. Close'])
data = pd.DataFrame({'Date':series.index, tickers[stock]:series.values})
portfolio = portfolio.append(data)
好的,尝试为您提供帮助,我的猜测是您希望所有3个股票的数据都在同一数据框中的不同列中。 您可以按照以下步骤进行操作:
import quandl
首先,您创建一个空的数据框组合,可以将下载的数据合并到其中。 该数据框将获得包含所有可能日期的索引:
datetime_index = pd.DatetimeIndex(start='2014-12-31', end='2018-12-31', freq='D')
portfolio = pd.DataFrame(index=datetime_index)
然后,您下载报价器数据并将其与投资组合数据框合并,如下所示:
tickers=['MMM','AOS','ABT']
for ticker in tickers:
ticker_data = (
quandl.get('WIKI/' + ticker,
start_date='2014-12-31',
end_date='2018-12-31')['Adj. Close']
.rename(ticker)
)
portfolio = pd.concat([portfolio, ticker_data], axis=1)
现在检查结果:
portfolio.head(3)
MMM AOS ABT
2014-12-31 153.100 27.278 42.024
2015-01-01 nan nan nan
2015-01-02 152.857 27.084 41.912
请让我知道这是否是您所需要的,并在正确时支持/接受结果。 将来:当您提出问题时,请始终添加一个示例,说明您希望最终结果是什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.