Когда я выполняю этот запрос в своем блокноте Jupyter, он показывает мне ошибку

#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