Как сгладить фрейм данных Pandas несколькими строками с одинаковым идентификатором?

1

Как я могу спрятать рамку данных pandas следующим образом:

id               date            var1
058a219119825  2015-01-01      0.9             
058a219119825  2015-02-01      0.3         
058a219119825  2015-03-01      0.1
....
058a219119826  2015-01-01      0.1
058a219119826  2015-02-01      0.5
058a219119826  2015-03-01      0.4

Некоторая информация о фрейме данных: существует следующее количество уникальных записей (id) с датами:

  date       number of unique id's
2015-01-01    16070
2015-02-01    16082
2015-03-01    16074
2015-04-01    16079
2015-05-01    16080
2015-06-01    16085
2015-07-01    16090
2015-08-01    16094
2015-09-01    16082
2015-10-01    16085
2015-11-01    16087
2015-12-01    16094

Я хочу нечто подобное, как эта команда делает с json файлами:

flattened = (flatten(entry) for entry in json_data)

Дело в том, что теперь у меня есть данные в dataframes. Идея, которую я имею, это создать новый столбец с параметром var и date, а затем удалить столбец даты. Например:

id           var1_2015-01-01 var1_2015-02-01 var1_2015-03-01
058a219119825        0.9             0.3           0.1

Кроме того, поскольку некоторые из идентификаторов не будут иметь всех 12 разных дат (1 в месяц), я думал добавить строку "Отсутствующее значение" для тех, которые не имеют значений var1 в датах отсутствия. Как я могу это сделать с помощью Pandas?

  • 1
    Каким должно быть значение date и var1 в новом фрейме данных?
  • 1
    Как вы собираетесь работать с различными значениями var1?
Показать ещё 4 комментария
Теги:
pandas
flatten

1 ответ

2
Лучший ответ

Вы можете поворачивать столы в Пандах.

Например:

entry.pivot(index='id', columns='date', values='var1')
  • 0
    Супер умный! Большое спасибо! : D
  • 0
    Любая идея, как я могу сохранить «идентификатор» в виде столбца? @RickyKim
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню