#python #jupyter-notebook
#питон #юпитер-записная книжка
Вопрос:
Запрос:
df['Date/Time'] = pd.to_datetime(df['Date/Time'], format="%m/%d/%Y %H:%M:%S")
Ошибка:
TypeError Traceback (most recent call last) ~anaconda3libsite-packagespandascoretoolsdatetimes.py in _to_datetime_with_format(arg, orig_arg, name, tz, fmt, exact, errors, infer_datetime_format) 508 try: --gt; 509 values, tz = conversion.datetime_to_datetime64(arg) 510 dta = DatetimeArray(values, dtype=tz_to_dtype(tz)) ~anaconda3libsite-packagespandas_libstslibsconversion.pyx in pandas._libs.tslibs.conversion.datetime_to_datetime64() TypeError: Unrecognized value type: lt;class 'str'gt; During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) ~AppDataLocalTemp/ipykernel_8924/3560383786.py in lt;modulegt; ----gt; 1 df['Date/Time'] = pd.to_datetime(df['Date/Time'], format="%m/%d/%Y %H:%M:%S") ~anaconda3libsite-packagespandascoretoolsdatetimes.py in to_datetime(arg, errors, dayfirst, yearfirst, utc, format, exact, unit, infer_datetime_format, origin, cache) 885 result = arg.map(cache_array) 886 else: --gt; 887 values = convert_listlike(arg._values, format) 888 result = arg._constructor(values, index=arg.index, name=arg.name) 889 elif isinstance(arg, (ABCDataFrame, abc.MutableMapping)): ~anaconda3libsite-packagespandascoretoolsdatetimes.py in _convert_listlike_datetimes(arg, format, name, tz, unit, errors, infer_datetime_format, dayfirst, yearfirst, exact) 391 392 if format is not None: --gt; 393 res = _to_datetime_with_format( 394 arg, orig_arg, name, tz, format, exact, errors, infer_datetime_format 395 ) ~anaconda3libsite-packagespandascoretoolsdatetimes.py in _to_datetime_with_format(arg, orig_arg, name, tz, fmt, exact, errors, infer_datetime_format) 511 return DatetimeIndex._simple_new(dta, name=name) 512 except (ValueError, TypeError): --gt; 513 raise err 514 515 ~anaconda3libsite-packagespandascoretoolsdatetimes.py in _to_datetime_with_format(arg, orig_arg, name, tz, fmt, exact, errors, infer_datetime_format) 498 499 # fallback --gt; 500 res = _array_strptime_with_fallback( 501 arg, name, tz, fmt, exact, errors, infer_datetime_format 502 ) ~anaconda3libsite-packagespandascoretoolsdatetimes.py in _array_strptime_with_fallback(arg, name, tz, fmt, exact, errors, infer_datetime_format) 434 435 try: --gt; 436 result, timezones = array_strptime(arg, fmt, exact=exact, errors=errors) 437 if "%Z" in fmt or "%z" in fmt: 438 return _return_parsed_timezone_results(result, timezones, tz, name) ~anaconda3libsite-packagespandas_libstslibsstrptime.pyx in pandas._libs.tslibs.strptime.array_strptime() ValueError: time data '09-01-2014 00:01' does not match format '%m/%d/%Y %H:%M:%S' (match)
Как я могу это решить?
Комментарии:
1. Похоже, вы используете неправильный формат. Проверьте, есть ли у ваших входных данных секунды — вы почти наверняка не хотите
:%S
, чтобы они были в конце строки формата.2. Что вы не понимаете в сообщении об ошибке?
3. Да, я понимаю, но в моих данных есть такие данные, как «30.04.2014 23:26:00», Поэтому я использую этот формат
Ответ №1:
Посмотрите на свою метку времени: 09-01-2014 00:01′
о чем это вам говорит? часы и минуты, почему вы ставите косые черты вместо дефисов?
%m-%d-%Y-%H:%M