Como corrigir: typeerror: o objeto ‘dataframe’ não pode ser chamado
Um erro comum que você pode encontrar ao usar pandas é:
TypeError : 'DataFrame' object is not callable
Este erro normalmente ocorre quando você tenta realizar um cálculo em uma variável em um DataFrame do pandas usando colchetes () em vez de colchetes [ ] .
O exemplo a seguir mostra como usar essa sintaxe na prática.
Como reproduzir o erro
Suponha que temos o seguinte DataFrame do 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
Agora suponha que tentamos calcular o valor médio na coluna “pontos”:
#attempt to calculate mean value in points column
df(' points '). mean ()
TypeError : 'DataFrame' object is not callable
Como usamos parênteses redondos () , o pandas pensa que estamos tentando chamar o DataFrame como uma função.
Como o DataFrame não é uma função, recebemos um erro.
Como corrigir o erro
A maneira de resolver esse erro é simplesmente usar colchetes [ ] ao acessar a coluna de pontos em vez de colchetes () :
#calculate mean value in points column
df[' points ']. mean ()
18.25
Conseguimos calcular a média da coluna de pontos (18,25) sem receber erro, pois usamos colchetes.
Observe também que também poderíamos usar a seguinte notação de ponto para calcular a média da coluna de pontos:
#calculate mean value in points column
df. points . mean ()
18.25
Observe que também não recebemos nenhum erro desta vez.
Recursos adicionais
Os tutoriais a seguir explicam como corrigir outros erros comuns em Python:
Como corrigir em Python: o objeto ‘numpy.ndarray’ não pode ser chamado
Como corrigir: TypeError: o objeto ‘numpy.float64’ não pode ser chamado
Como corrigir: erro de tipo: objeto de string ou bytes esperado