Создать новую функцию на основе дубликата - PullRequest
0 голосов
/ 30 мая 2018

У меня есть pandas.DataFrame для событий, который выглядит следующим образом:

event_name  event_person_firstname  event_person_lastname   price   year
event_a     foo                     bar                     100     2017
event_a     foo                     bar                     42      2016
event_a     foo                     bar                     90      2016
event_a     not                     same                    80      2015
event_b     random                  name                    200     2018
event_b     random                  name                    42      2010

Я хочу объединить строки на основе event_name и event_person_firstname + event_person_lastname так, чтобыэто новый столбец, названный в честь каждого года с соответствующей ценой (если в данных нет цены, она должна быть NaN или пустой - мне все равно).

Сложно объяснить, поэтому здесьожидаемый результат после преобразования указанного выше Фрейма данных:

event_name  event_person_firstname  event_person_lastname   2018    2017    2016    2015    2014    2010
event_a     foo                     bar                     NaN     100     42      NaN     90      NaN
event_a     not                     same                    NaN     NaN     NaN     80      NaN     NaN
event_b     random                  name                    200     NaN     NaN     NaN     NaN     42

Сначала я попытался сгруппировать эти дубликаты элементов, но застрял на том, как действовать после этого шага.Я надеюсь, что вы можете помочь.Заранее спасибо!

1 Ответ

0 голосов
/ 30 мая 2018

Вы можете использовать pandas.pivot_table:

df.pivot_table(index=["event_name", "event_person_firstname", "event_person_lastname"], columns="year", values="price").reset_index()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...