панды создают фрейм данных с функцией groupby в цикле

#python #pandas #dataframe

Вопрос:

то, что у меня здесь есть, это

 ap = ['DMK','BKK','HKT','USM']
for i in ap:
    test1 = c[c['schedule_from'].isin(ap)].groupby(['schedule_from','schedule_to']).size().to_frame().reset_index().sort_values(['schedule_from',0],ascending=False)
    print((test1.loc[test1['schedule_from']==i]).head(5))
    print('____')
 

вывод, как

    schedule_from schedule_to   0
24           DMK         HKT  84
43           DMK         PNH  69
14           DMK         DMK  26
11           DMK         CNX  23
59           DMK         UTP  11
____
  schedule_from schedule_to  0
0           BKK         DMK  2
1           BKK         DXB  1
2           BKK         LTN  1
3           BKK         OTP  1
____
   schedule_from schedule_to   0
65           HKT         DMK  88
71           HKT         KUL   6
76           HKT         USM   3
64           HKT         CNX   2
66           HKT         DWC   2
____
   schedule_from schedule_to   0
80           USM         DMK  14
81           USM         HDY   1
82           USM         HKT   1
83           USM         NST   1
____
 

Как создать 4 кадра данных для каждого результата или один полный кадр данных, если 4 нелегко получить

Комментарии:

1. Вы можете создать словарь и хранить каждый фрейм данных под другим ключом

2. @Psidom можете ли вы привести пример этого? Я знаю только, что создайте целый фрейм данных с разными столбцами

3. d = {}; for i in ap: test1 = ....; d[i] = test1 ?