Как исправить: ошибка типа: объект dataframe не может быть вызван


Распространенная ошибка, с которой вы можете столкнуться при использовании панд:

 TypeError : 'DataFrame' object is not callable

Эта ошибка обычно возникает, когда вы пытаетесь выполнить вычисление переменной в DataFrame pandas, используя круглые скобки () вместо квадратных скобок [ ] .

В следующем примере показано, как использовать этот синтаксис на практике.

Как воспроизвести ошибку

Предположим, у нас есть следующий DataFrame pandas:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'],
                   ' points ': [18, 22, 19, 14, 14, 11, 20, 28],
                   ' assists ': [5, 7, 7, 9, 12, 9, 9, 4],
                   ' rebounds ': [11, 8, 10, 6, 6, 5, 9, 12]})

#view DataFrame
print (df)

  team points assists rebounds
0 A 18 5 11
1 B 22 7 8
2 C 19 7 10
3 D 14 9 6
4 E 14 12 6
5 F 11 9 5
6 G 20 9 9
7:28 4 12

Теперь предположим, что мы пытаемся вычислить среднее значение в столбце «баллы»:

 #attempt to calculate mean value in points column
df(' points '). mean ()

TypeError : 'DataFrame' object is not callable

Поскольку мы использовали круглые скобки () , pandas думает, что мы пытаемся вызвать DataFrame как функцию.

Поскольку DataFrame не является функцией, мы получаем ошибку.

Как исправить ошибку

Способ устранения этой ошибки — просто использовать квадратные скобки [ ] при доступе к столбцу точек вместо круглых скобок () :

 #calculate mean value in points column
df[' points ']. mean ()

18.25

Мы можем вычислить среднее значение столбца точек (18,25), не получив ошибки, поскольку мы использовали квадратные скобки.

Также обратите внимание, что мы также можем использовать следующее обозначение точек для расчета среднего значения столбца точек:

 #calculate mean value in points column
df. points . mean ()

18.25

Обратите внимание, что и на этот раз мы не получаем никаких ошибок.

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в Python:

Как исправить в Python: объект «numpy.ndarray» не подлежит вызову
Как исправить: Ошибка типа: объект «numpy.float64» не может быть вызван
Как исправить: Ошибка типа: ожидаемый строковый или байтовый объект

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *