Как исправить «ошибку значения», возникающую при разборе объекта на datetime в Pandas - PullRequest
0 голосов
/ 02 июля 2019

У меня есть данные временных рядов, в которых есть только время.Таким образом, я добавил дату и хочу преобразовать ее в объект datetime, используя pd.to_datetime(), но когда я применяю функцию, она возвращает "value error".

У меня есть данные за 5 дней, и я смогуспешно преобразовать первые 3 дня в объекты даты и времени, используя метод.Я попытался ввести параметр ошибки, чтобы "игнорировать", но он не возвращает объект datetime.Не уверен, как подойти к исправлению.См. Сообщение об ошибке, приведенное ниже.

import pandas as pd
import numpy as np
import matplotlib as plt


file_19c1 = "190319-C.txt"
df_19c1 = pd.read_csv(file_19c1,sep ='\t', header = None,names = ['TimeStamp','x','y','z'],usecols =[0,3,4,5])
df_19c1 = df_19c1.iloc[7:,:].reset_index(drop = True) # start the DF at 00:00:00 to 23:59:59

date = '2019-03-19T'  # T is for isoformat
df_19c1['TimeStamp'] = pd.to_datetime(df_19c1['TimeStamp'].apply(lambda s: date+s))# add the date to the time and make datetimepbject
df_19c1.set_index(df_19c1['TimeStamp'],drop = True, inplace = True)
del df_19c1['TimeStamp']


TypeError                                 Traceback (most recent call last)
~\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py in _convert_listlike(arg, box, format, name, tz)
    376             try:
--> 377                 values, tz = conversion.datetime_to_datetime64(arg)
    378                 return DatetimeIndex._simple_new(values, name=name, tz=tz)

pandas\_libs\tslibs\conversion.pyx in pandas._libs.tslibs.conversion.datetime_to_datetime64()

TypeError: Unrecognized value type: <class 'str'>

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
<ipython-input-2-a728f1f21ee6> in <module>()
      1 date = '2019-03-19T'  # T is for isoformat
----> 2 df_19c1['TimeStamp'] = pd.to_datetime(df_19c1['TimeStamp'].apply(lambda s: date+s))# add the date to the time and make datetimepbject
      3 df_19c1.set_index(df_19c1['TimeStamp'],drop = True, inplace = True)
      4 del df_19c1['TimeStamp']
      5 print(df_19c1.iloc[0:10,:])

~\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py in to_datetime(arg, errors, dayfirst, yearfirst, utc, box, format, exact, unit, infer_datetime_format, origin, cache)
    449         else:
    450             from pandas import Series
--> 451             values = _convert_listlike(arg._values, True, format)
    452             result = Series(values, index=arg.index, name=arg.name)
    453     elif isinstance(arg, (ABCDataFrame, MutableMapping)):

~\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py in _convert_listlike(arg, box, format, name, tz)
    378                 return DatetimeIndex._simple_new(values, name=name, tz=tz)
    379             except (ValueError, TypeError):
--> 380                 raise e
    381 
    382     if arg is None:

~\Anaconda3\lib\site-packages\pandas\core\tools\datetimes.py in _convert_listlike(arg, box, format, name, tz)
    366                     dayfirst=dayfirst,
    367                     yearfirst=yearfirst,
--> 368                     require_iso8601=require_iso8601
    369                 )
    370 

pandas\_libs\tslib.pyx in pandas._libs.tslib.array_to_datetime()

pandas\_libs\tslib.pyx in pandas._libs.tslib.array_to_datetime()

pandas\_libs\tslib.pyx in pandas._libs.tslib.array_to_datetime()

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

~\Anaconda3\lib\site-packages\dateutil\parser\_parser.py in parse(timestr, parserinfo, **kwargs)
   1354         return parser(parserinfo).parse(timestr, **kwargs)
   1355     else:
-> 1356         return DEFAULTPARSER.parse(timestr, **kwargs)
   1357 
   1358 

~\Anaconda3\lib\site-packages\dateutil\parser\_parser.py in parse(self, timestr, default, ignoretz, tzinfos, **kwargs)
    646 
    647         if res is None:
--> 648             raise ValueError("Unknown string format:", timestr)
    649 
    650         if len(res) == 0:

ValueError: ('Unknown string format:', '2019-03-19Tn.a.')



Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...