Erro Serie Temporal

Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #28947
    dougtaleb
    Participante

    Olá, boa tarde, estou tentando realizar um estudo/teste de série temporal no ARIMA; no caso, criar um  modelo preditivo para o número de ligações que uma empresa recebe e estou seguindo o script das aulas de Series Temporais com ARIMA; porém estou tendo problemas, a instalação das bibliotecas está ok, a leitura da base de dados também; mas na hora de transformar as variáveis, não estou conseguindo. Poderiam me auxiliar, por gentileza?

    Anexo print da base de dados (estou enviando print no formato de xlsx para ficar mais fácil visualizar) e também a execução de códigos no Jupyter Notebook.

     

    O erro ocorre quando vou tentar ajustar a questão da data. No caso para ficar em formato de dia, mês e ano.

    Código: “dateparse = lambda dates: pd.datetime.strptime(dates, ‘%d-%m-%y’)
    dataset = pd.read_csv(‘base_ligacoes.csv’, parse_dates = [‘Data’], index_col = ‘Data’, date_parser = dateparse)”

    Resposta do Jupyer: ”

    <ipython-input-8-21945fdda994>:1: FutureWarning: The pandas.datetime class is deprecated and will be removed from pandas in a future version. Import from datetime module instead.
    dateparse = lambda dates: pd.datetime.strptime(dates, ‘%d-%m-%y’)

    —————————————————————————
    TypeError Traceback (most recent call last)
    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in converter(*date_cols)
    3358 result = tools.to_datetime(
    -> 3359 date_parser(*date_cols), errors=”ignore”, cache=cache_dates
    3360 )

    <ipython-input-8-21945fdda994> in <lambda>(dates)
    —-> 1 dateparse = lambda dates: pd.datetime.strptime(dates, ‘%d-%m-%y’)
    2 dataset = pd.read_csv(‘base_ligacoes.csv’, parse_dates = [‘Data’], index_col = ‘Data’, date_parser = dateparse)

    TypeError: strptime() argument 1 must be str, not numpy.ndarray

    During handling of the above exception, another exception occurred:

    ValueError Traceback (most recent call last)
    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in converter(*date_cols)
    3366 return tools.to_datetime(
    -> 3367 parsing.try_parse_dates(
    3368 parsing.concat_date_cols(date_cols),

    pandas\_libs\tslibs\parsing.pyx in pandas._libs.tslibs.parsing.try_parse_dates()

    <ipython-input-8-21945fdda994> in <lambda>(dates)
    —-> 1 dateparse = lambda dates: pd.datetime.strptime(dates, ‘%d-%m-%y’)
    2 dataset = pd.read_csv(‘base_ligacoes.csv’, parse_dates = [‘Data’], index_col = ‘Data’, date_parser = dateparse)

    ~\anaconda3\lib\_strptime.py in _strptime_datetime(cls, data_string, format)
    567 format string.”””
    –> 568 tt, fraction, gmtoff_fraction = _strptime(data_string, format)
    569 tzname, gmtoff = tt[-2:]

    ~\anaconda3\lib\_strptime.py in _strptime(data_string, format)
    348 if not found:
    –> 349 raise ValueError(“time data %r does not match format %r” %
    350 (data_string, format))

    ValueError: time data ‘1/2/2021’ does not match format ‘%d-%m-%y’

    During handling of the above exception, another exception occurred:

    ValueError Traceback (most recent call last)
    <ipython-input-8-21945fdda994> in <module>
    1 dateparse = lambda dates: pd.datetime.strptime(dates, ‘%d-%m-%y’)
    —-> 2 dataset = pd.read_csv(‘base_ligacoes.csv’, parse_dates = [‘Data’], index_col = ‘Data’, date_parser = dateparse)

    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in read_csv(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, squeeze, prefix, mangle_dupe_cols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, dialect, error_bad_lines, warn_bad_lines, delim_whitespace, low_memory, memory_map, float_precision)
    684 )
    685
    –> 686 return _read(filepath_or_buffer, kwds)
    687
    688

    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in _read(filepath_or_buffer, kwds)
    456
    457 try:
    –> 458 data = parser.read(nrows)
    459 finally:
    460 parser.close()

    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in read(self, nrows)
    1194 def read(self, nrows=None):
    1195 nrows = _validate_integer(“nrows”, nrows)
    -> 1196 ret = self._engine.read(nrows)
    1197
    1198 # May alter columns / col_dict

    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in read(self, nrows)
    2229
    2230 names, data = self._do_date_conversions(names, data)
    -> 2231 index, names = self._make_index(data, alldata, names)
    2232
    2233 # maybe create a mi on the columns

    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in _make_index(self, data, alldata, columns, indexnamerow)
    1675 elif not self._has_complex_date_col:
    1676 index = self._get_simple_index(alldata, columns)
    -> 1677 index = self._agg_index(index)
    1678 elif self._has_complex_date_col:
    1679 if not self._name_processed:

    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in _agg_index(self, index, try_parse_dates)
    1752
    1753 if try_parse_dates and self._should_parse_dates(i):
    -> 1754 arr = self._date_conv(arr)
    1755
    1756 if self.na_filter:

    ~\anaconda3\lib\site-packages\pandas\io\parsers.py in converter(*date_cols)
    3373 )
    3374 except Exception:
    -> 3375 return generic_parser(date_parser, *date_cols)
    3376
    3377 return converter

    ~\anaconda3\lib\site-packages\pandas\io\date_converters.py in generic_parser(parse_func, *cols)
    36 for i in range(N):
    37 args = [c[i] for c in cols]
    —> 38 results[i] = parse_func(*args)
    39
    40 return results

    <ipython-input-8-21945fdda994> in <lambda>(dates)
    —-> 1 dateparse = lambda dates: pd.datetime.strptime(dates, ‘%d-%m-%y’)
    2 dataset = pd.read_csv(‘base_ligacoes.csv’, parse_dates = [‘Data’], index_col = ‘Data’, date_parser = dateparse)

    ~\anaconda3\lib\_strptime.py in _strptime_datetime(cls, data_string, format)
    566 “””Return a class cls instance based on the input string and the
    567 format string.”””
    –> 568 tt, fraction, gmtoff_fraction = _strptime(data_string, format)
    569 tzname, gmtoff = tt[-2:]
    570 args = tt[:6] + (fraction,)

    ~\anaconda3\lib\_strptime.py in _strptime(data_string, format)
    347 found = format_regex.match(data_string)
    348 if not found:
    –> 349 raise ValueError(“time data %r does not match format %r” %
    350 (data_string, format))
    351 if len(data_string) != found.end():

    ValueError: time data ‘1/2/2021’ does not match format ‘%d-%m-%y’ “.

    #28948
    dougtaleb
    Participante

    #28949
    dougtaleb
    Participante

    #28950
    dougtaleb
    Participante

    #28953
    Fábio Spak
    Moderador

    Olá DougTaleb, esse erro ocorre porque você esta tentando converter uma string para o tipo date. Veja nessa discussão como resolver isso utilizando uma conversão de tipos.

    Não podemos fazer testes com códigos personalizados dos alunos.

    Fabio

    #28962
    dougtaleb
    Participante

    Olá, Fabio

    Fiz alguns teste, mas o erro persiste. O formato das datas estão em mês/dia/ano (Ex: “1/2/2021”, “1/4/2021”, “1/5/2021″,”2,307”) .

    Tentei alguns códigos, mas o erro persiste:

    • ” dataset[‘Data’] = pd.to_datetime(dataset[‘Data’], format=’%m-%d-%Y’) “

    Erro: ” ValueError: time data ‘1/2/2021’ does not match format ‘%m-%d-%Y’ (match)”

    • ” dataset[‘Data’] = pd.to_datetime(dataset[‘Data’], format=’%b-%d-%Y’)

    Erro: ” ValueError: time data ‘1/2/2021’ does not match format ‘%b-%d-%Y’ (match)”

    • ” dataset[‘Data’] = pd.to_datetime(dataset[‘Data’], format=’%b-%d-%YYYY’) “

    Erro: “ValueError: time data ‘1/2/2021’ does not match format ‘%b-%d-%YYYY’ (match)”

     

     

     

     

    #28965
    Fábio Spak
    Moderador

    Olá Dougtaleb, verifique novamente o link que lhe passei. Infelizmente não conseguimos dar suporte ou ajudar detalhadamente com implementações personalizadas 🙁 Como a demanda no fórum é muito grande, não nos sobra tempo para avaliar/implementar/testar códigos personalizados que fogem das implementações disponíveis no curso. O que podemos fazer é dar algumas dicas e direcionamento de implementações como realizei na pergunta anterior.

    Fabio

    #28967
    dougtaleb
    Participante

    Olá, Fabio

    Entendo perfeitamente e obrigado pela disposição e ajuda; mas de qualquer forma, consegui resolver; eu basicamente ajustei formato de data,  deixei no formato ano-mes-dia; tal como é usado na língua inglesa nos EUA; que é a base do Python (ao menos pelo que pesquisei); e acabou dando certo. Recentemente comprei alguns livros para me aprofundar ainda mais.

    #28968
    Fábio Spak
    Moderador

    Olá Dougtaleb, que bom que deu certo 😉

    Fabio

Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Você deve fazer login para responder a este tópico.