Мне нужно разложить или развернуть, сохранив дублированный индекс - PullRequest
1 голос
/ 02 августа 2020

Я хотел бы разложить столбец, но при этом сохранить дублированный индекс.

df = pd.DataFrame( data={'Order': ['123', '123','123'],\
'Ticket': ['987', '987','987'],'Status': ['Added', 'Removed', 'Added'], \
'Dates': ['2016-02-15', '2017-12-24', '2018-01-24']})

Я пробовал это:

df.pivot_table(index=['Order', 'Ticket' ], columns='Status', values='Dates', aggfunc= 'first')

, а также пробовал:

df.insert(0, 'count', df.groupby(['Order', 'Ticket']).cumcount())
df.pivot(index='count', columns='Status', values='Dates')

Хотелось бы получить такой результат: 1

 # Order    Ticket      Added        Removed
 # 123      987        2016-02-15   2017-12-24
 # 123      987        2018-01-24    NaT

и позже рассчитайте продолжительность.

Любая помощь будет принята с благодарностью. Спасибо.

1 Ответ

2 голосов
/ 02 августа 2020

Попробуйте следующее:

df.insert(0, "count", df.groupby(["Order", "Ticket", "Status"]).cumcount())
df.set_index(["count", "Order", "Ticket", "Status"]).unstack()


                                    Dates
              Status       Added    Removed
count   Order   Ticket      
0       123      987    2016-02-15  2017-12-24
1       123      987    2018-01-24  NaN
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...