Как сгладить фрейм данных Pandas несколькими строками с одинаковым идентификатором? - PullRequest
0 голосов
/ 20 сентября 2018

Как я могу сгладить фрейм данных 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

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

  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)

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

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

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

1 Ответ

0 голосов
/ 21 сентября 2018

Вы можете поворачивать таблицы в Pandas.

Например:

entry.pivot(index='id', columns='date', values='var1')
...