1

Trying to get from different timeseries, from quandl, one single dataframe.

Trying with for loop get data from thre different quandl timeseries. Getting so far this:

             Open   High    Low  Close
Date
2019-04-05  145.0  145.0  138.0  140.2
             Open   High    Low  Close
Date
2019-04-05  41.29  41.59  41.03  41.05
             Open   High   Low  Close
Date
2019-04-05  12.04  12.08  11.9   11.9
import quandl
import pandas as pd

tickers=['WSE/AMICA','WSE/PZU','WSE/WIELTON']
notowania=[]

for ticker in tickers:
    raw_notowania = quandl.get(ticker, authtoken="mytoken", rows=1)[['Open', 'High','Low', 'Close']]
    print(raw_notowania)

Expected result is to have after for loop one single dataframe like that:

                 Open   High    Low  Close
     |  ticker1|
date |  ticker2|
     |  ticker3|

Maciej
  • 1,209
  • 4
  • 16
  • 26

1 Answers1

1

In loop append each DataFrame to list, join together by concat with parameter key, then DataFrame.swaplevel and DataFrame.sort_index:

tickers=['WSE/AMICA','WSE/PZU','WSE/WIELTON']

notowania=[]

for ticker in tickers:
    raw_notowania=quandl.get(ticker,authtoken="mytoken",rows=1)[['Open','High','Low','Close']]
    notowania.append(raw_notowania)

df = pd.concat(notowania, keys=tickers).swaplevel().sort_index(level=0)
print (df)
                          Open    High     Low   Close
2019-04-05 WSE/AMICA    145.00  145.00  138.00  140.20
           WSE/PZU       41.29   41.59   41.03   41.05
           WSE/WIELTON   12.04   12.08   11.90   11.90
jezrael
  • 822,522
  • 95
  • 1,334
  • 1,252