Можно использовать pd.melt
, настройку Date
и Price
в качестве id_vars
:
(df.melt(id_vars=['Date', 'Price'],
value_name='Stock and Bench')
.drop('variable', axis=1))
Date Price Stock and Bench
0 12/31/2018/8:57 100 AAPL
1 12/31/2018/8:57 123 GOOG
2 12/31/2018/8:57 90 GM
3 12/31/2018/8:57 340 MMM
4 12/31/2018/8:57 30 INVD
5 12/31/2018/8:57 100 INDX
6 12/31/2018/8:57 123 RSL
7 12/31/2018/8:57 90 COMP
8 12/31/2018/8:57 340 NIKK
9 12/31/2018/8:57 30 EUR
или с использованием pd.wide_to_long
:
(pd.wide_to_long(df.reset_index(), stubnames='Ticker', i = 'index',
j = 'num', suffix='\w+')
.reset_index(drop=True)
.rename({'Ticker':'Stock and Bench'}, axis=1))
Date Price Stock and Bench
0 12/31/2018-8:57 100 AAPL
1 12/31/2018-8:57 123 GOOG
2 12/31/2018-8:57 90 GM
3 12/31/2018-8:57 340 MMM
4 12/31/2018-8:57 30 INVD
5 12/31/2018-8:57 100 INDX
6 12/31/2018-8:57 123 RSL
7 12/31/2018-8:57 90 COMP
8 12/31/2018-8:57 340 NIKK
9 12/31/2018-8:57 30 EUR