Pandas При агрегировании сводной таблицы с параметром «размер» выдается ошибка «Объект« Ряд »не имеет атрибута« столбцы »» - PullRequest
0 голосов
/ 27 апреля 2020

У меня есть следующий DataFrame:

df = pd.DataFrame({'foo': [1, 3, 3, 4],
                   'bar': [2, 5, 8, 9],
                   'abc': [3, 7, 2, 4]})

Когда я пытался использовать команду:

df.pivot_table('bar', 'foo', aggfunc='size')

Я получаю ошибку:

AttributeError: У объекта 'Series' нет атрибута 'columns'

Как ни странно, проблема исчезает, когда я объединяю несколько столбцов одновременно:

df.pivot_table(['bar', 'abc'], 'foo', aggfunc='size')

Но появляется снова, если я добавляю "dropna =" False "параметр:

df.pivot_table(['bar', 'abc'], 'foo', aggfunc='size', dropna=False)

Ожидаемый вывод (который я успешно получаю с помощью второй команды):

foo
1    1
3    2
4    1
dtype: int64

Кстати, я использую" размер "вместо" считать намеренно, так как я хочу знать размеры групп , включая значения NaN (даже если это не показано в этом минимальном примере, потому что, очевидно, присутствие NaN не является необходимым для запуска ошибки).

Моя версия pandas - 0.25.1. Кто-нибудь может объяснить это поведение?

...