2016-12-11 11 views
3

я получаю выход из моих панд DataReader как:Преобразовать каркасные панды в питоне

 Date  AAPL   ACN 
0 2016-11-21 111.730003 119.680000 
1 2016-11-22 111.800003 119.480003 
2 2016-11-23 111.230003 119.820000 
3 2016-11-25 111.790001 120.739998 
4 2016-11-28 111.570000 120.760002 

Что я, что кадр выглядит следующим образом:

 Date Minor Adj Close 
0 2016-11-21 AAPL 111.730003 
1 2016-11-22 AAPL 111.800003 
2 2016-11-23 AAPL 111.230003 
3 2016-11-25 AAPL 111.790001 
4 2016-11-28 AAPL 111.570000 
0 2016-11-21 ACN  119.680000 
1 2016-11-22 ACN  119.480003 
2 2016-11-23 ACN  119.820000 
3 2016-11-25 ACN  120.739998 
4 2016-11-28 ACN  120.760002 

Как я могу Converte моего кода, который я получить упомянутый выше вывод? Код выглядит следующим образом:

import pandas_datareader.data as pdr 

DataLevels = pdr.DataReader(['ACN','AAPL'], 'yahoo', '2016-11-19', '2016-12-1') 
DataLevels = DataLevels['Adj Close'].reset_index() 
DataLevels.rename(columns={'minor': ['ACN','AAPL'], 'Adj Close': 'Adj Close'}, inplace=True) 
print(DataLevels) 
+0

@MaxU Я получаю следующее сообщение об ошибке: SyntaxError: неверный символ в идентификатор – MCM

ответ

5

melt Использование перекроить DF от широкоугольного до длинного формата:

pd.melt(df, id_vars=['Date'], value_name='Adj Close', var_name='Minor') 

enter image description here

+0

Это решение намного лучше;) – MaxU

+0

@MaxU, Спасибо за это. –

+0

@MCM, вы можете просто заменить 'df' вашими« DataLevels »:' pd.melt (DataLevels ['Adj Close']. Reset_index(), id_vars = 'Date', value_name = 'Adj Close', var_name = ' Minor ') ' – MaxU