Python групповой мультииндекс - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть такой фрейм данных

Оригинальный фрейм данных

Как добавить еще один индекс и сгруппировать как:

ЖелаемыйВыходной фрейм данных

Большое спасибо!

1 Ответ

0 голосов
/ 03 декабря 2018

IIUC, вы можете попробовать это:

df = pd.DataFrame({'Date':['11/1/2018']*5+['11/2/2018']*5,
                   'Stock':['AAPL','SHOP','FB','F','C']*2, 
                   'Price':np.random.randint(20,75,10)})

df['Date'] = pd.to_datetime(df['Date'])

df.set_index(df['Date'], append=True)\
  .rename_axis(['Index','DateGroup'], axis=0)\
  .swaplevel(0,1)\
  .sort_index()

Вывод:

                       Date Stock  Price
DateGroup  Index                        
2018-11-01 0     2018-11-01  AAPL     26
           1     2018-11-01  SHOP     21
           2     2018-11-01    FB     65
           3     2018-11-01     F     55
           4     2018-11-01     C     47
2018-11-02 5     2018-11-02  AAPL     45
           6     2018-11-02  SHOP     67
           7     2018-11-02    FB     24
           8     2018-11-02     F     52
           9     2018-11-02     C     47
...