Столбец сводной категории - PullRequest
0 голосов
/ 22 октября 2019

Фрейм данных

import pandas as pd
df = pd.DataFrame({'date':['2015-01-01','2015-01-01','2015-01-01','2015-0101','2015-01-02','2015-01-02','2015-01-02','2015-01-02'],
                  'id':[1,1,2,2,1,1,2,2],
                  'kind':['min','max','min','max','min','max','min','max'],
                  'values':[1,2,3,4,5,6,7,8]})
print(df)
    date        id kind  values
0  2015-01-01   1  min       1
1  2015-01-01   1  max       2
2  2015-01-01   2  min       3
3  2015-01-01   2  max       4
4  2015-01-02   1  min       5
5  2015-01-02   1  max       6
6  2015-01-02   2  min       7
7  2015-01-02   2  max       8

Содержит минимальное и максимальное значения для каждой (уникальной) комбинации даты и идентификатора.

Как можно повернуть столбец kind ,так что результирующий фрейм данных выглядит как

   date        id min max  
0  2015-01-01   1  1  2
1  2015-01-01   2  3  4
2  2015-01-02   1  5  6
3  2015-01-02   2  7  8

?

df.pivot(columns='kind') не генерирует желаемый результат.

1 Ответ

2 голосов
/ 22 октября 2019

Вы можете попробовать

df.set_index(['date','id','kind'])['values'].unstack().reset_index()
Out[94]: 
kind        date  id  max  min
0     2015-01-01   1    2    1
1     2015-01-01   2    4    3
2     2015-01-02   1    6    5
3     2015-01-02   2    8    7

или

df.pivot_table(index=['date','id'],columns='kind',values='values')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...