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

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *