1
resposta

retorna erro no codigo da aula Analise de series temp COVID

Boa tarde Apesar de digitar exatamente como a instrutora passa no vídeo o codigo

plt.figure(figsize=(20,8))
fig = sns.lineplot(x='data',y='Obitos',hue='estado',data=df)
fig.set_title('Óbitos por estado em função do tempo', loc='left',fontsize=24)
fig.set_xlabel('Data',fontsize=24)
fig.set_ylabel('Óbitos',fontsize=24)

Retorna este erro abaixo,poderiam me auxiliar

TypeError                                 Traceback (most recent call last)
~\anaconda3\lib\site-packages\pandas\_libs\lib.pyx in pandas._libs.lib.maybe_convert_numeric()

TypeError: Invalid object type

During handling of the above exception, another exception occurred:

TypeError                                 Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_15128/3222706858.py in <module>
      1 plt.figure(figsize=(20,8))
----> 2 fig = sns.lineplot(x='data',y='Obitos',hue='estado',data=df)
      3 fig.set_title('Óbitos por estado em função do tempo', loc='left',fontsize=24)
      4 fig.set_xlabel('Data',fontsize=24)
      5 fig.set_ylabel('Óbitos',fontsize=24)

~\anaconda3\lib\site-packages\seaborn\_decorators.py in inner_f(*args, **kwargs)
     44             )
     45         kwargs.update({k: arg for k, arg in zip(sig.parameters, args)})
---> 46         return f(**kwargs)
     47     return inner_f
     48 

~\anaconda3\lib\site-packages\seaborn\relational.py in lineplot(x, y, hue, size, style, data, palette, hue_order, hue_norm, sizes, size_order, size_norm, dashes, markers, style_order, units, estimator, ci, n_boot, seed, sort, err_style, err_kws, legend, ax, **kwargs)
    708     p._attach(ax)
    709 
--> 710     p.plot(ax, kwargs)
    711     return ax
    712 

~\anaconda3\lib\site-packages\seaborn\relational.py in plot(self, ax, kws)
    469         # Loop over the semantic subsets and add to the plot
    470         grouping_vars = "hue", "size", "style"
--> 471         for sub_vars, sub_data in self.iter_data(grouping_vars, from_comp_data=True):
    472 
    473             if self.sort:

~\anaconda3\lib\site-packages\seaborn\_core.py in iter_data(self, grouping_vars, reverse, from_comp_data)
    981 
    982         if from_comp_data:
--> 983             data = self.comp_data
    984         else:
    985             data = self.plot_data

~\anaconda3\lib\site-packages\seaborn\_core.py in comp_data(self)
   1055                     orig = self.plot_data[var].dropna()
   1056                 comp_col = pd.Series(index=orig.index, dtype=float, name=var)
-> 1057                 comp_col.loc[orig.index] = pd.to_numeric(axis.convert_units(orig))
   1058 
   1059                 if axis.get_scale() == "log":

~\anaconda3\lib\site-packages\pandas\core\tools\numeric.py in to_numeric(arg, errors, downcast)
    181         coerce_numeric = errors not in ("ignore", "raise")
    182         try:
--> 183             values, _ = lib.maybe_convert_numeric(
    184                 values, set(), coerce_numeric=coerce_numeric
    185             )

~\anaconda3\lib\site-packages\pandas\_libs\lib.pyx in pandas._libs.lib.maybe_convert_numeric()

TypeError: Invalid object type at position 0

1 resposta

Olá, Guilherme. Tudo bem?

Testei o código da aula e funcionou normalmente aqui.

Você pode tentar executar os comandos novamente, que pode você ver a seguir:

import pandas as pd
import numpy as np

import matplotlib.pyplot as plt
import seaborn as sns

from datetime import date

import warnings
warnings.filterwarnings('ignore')

OBS: Não esqueça de instalar todas as bibliotecas utilizadas. Para isso, utilize o comando !pip install nome_biblioteca em uma célula.

Após importar todas as bibliotecas necessárias, você pode partir para a criação do DataFrame:

df_total = pd.read_csv('cases-brazil-states.csv')
df_total.head()

E, após isso, selecionar apenas os estados diferentes de TOTAL e converter as datas, como você pode ver no código a seguir:

df = df_total[df_total['estado'] != 'TOTAL']
df['data'] = pd.to_datetime(df_total['data']).dt.date
df.head()

E, por fim, a parte que deu erro para você:

plt.figure(figsize=(20,8))
fig = sns.lineplot(x='data',y='Obitos',hue='estado',data=df)
fig.set_title('Óbitos por estado em função do tempo', loc='left',fontsize=24)
fig.set_xlabel('Data',fontsize=24)
fig.set_ylabel('Óbitos',fontsize=24)

Acredito que ao copiar e executar essas células, seu código irá funcionar normalmente.

Espero ter ajudado, Guilherme. Se tiver mais alguma dúvida, estou à disposição. Bons estudos =)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software