У меня есть следующий 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. Кто-нибудь может объяснить это поведение?