簡體   English   中英

將時間序列乘以數據幀

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM