Сводные таблицы с «ValueError: невозможно пометить индекс пустым ключом» - PullRequest
0 голосов
/ 22 мая 2018

Мне дан кадр данных с именем items_by_creation_date, как показано ниже.

   itemid  item_creation_date
0         1925574 2015-10-01 00:24:42
1         1925617 2015-10-01 00:26:37
2          943600 2015-08-25 21:02:13
3         1064405 2015-08-30 20:16:07
4        20046620 2016-05-09 01:14:34
5        20047128 2016-05-09 01:18:21
6        78419076 2016-10-20 11:17:41
7       252736983 2017-05-09 18:33:30
8       793229430 2017-12-28 19:55:45
9       809446063 2018-01-05 16:08:24

Я хотел бы узнать, сколько элементов создано в 2018 году, и я планировал начать с создания сводной таблицы с "itemid" в качестве индекса.

items_by_creation_date.pivot(index = "itemid", values = "item_creation_date")

Тем не менее он возвращает мне следующую ошибку:

Файл "C: \ ProgramData \ Anaconda3 \ lib \ site-packages \ pandas \ core \ internals.py", строка 3852, в get yield ValueError ("нельзя пометить индекс пустым ключом") ValueError: невозможно пометить индекс пустым ключом

Я застрял на 2 дня с этой ошибкой!Может ли какая-нибудь добрая душа рассказать мне, в чем причина ошибки, и как мне на самом деле решить проблему?

Другие вещи, которые я пробовал: (но не сработало)

items_by_creation_date = data.groupby(["itemid"]["item_creation_date"].apply(list))

items_by_creation_date.assign(Count = items_by_creation_date.groupby('itemid').cumcount()).pivot("itemid")

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

С наилучшими пожеланиями,

Bangwu

...