изменение объекта в формат даты и времени

В настоящее время я работаю над листом Google, импортируя его в python. Когда я импортирую лист, он был в формате объекта, а затем я преобразовал его в float, но я пытаюсь изменить формат столбца Date, после чего возникает ошибка.

Ниже приводится датафрейм, над которым я должен работать

df.head()
Out[21]: 
                  Date Avg_Energy Avg_Voltage
1  24-06-2018 12-50-02    2452.93            
2  24-06-2018 12-50-03    2452.98      228.03
3  24-06-2018 12-50-04    2453.04       228.7
4  24-06-2018 12-50-05     2453.1       228.4
5  24-06-2018 12-50-06    2453.16      228.74

Я применил следующий код, чтобы изменить его в формат даты и времени

df['DateTime'] = pd.to_datetime(df['Date'])

Я предоставляю мне следующую ошибку

df2['DateTime'] = pd.to_datetime(df2['Date'])
Traceback (most recent call last):

  File "<ipython-input-22-0636e9d0e511>", line 1, in <module>
    df2['DateTime'] = pd.to_datetime(df2['Date'])

  File "C:UsersHussnainAnaconda3libsite-packagespandascore	oolsdatetimes.py", line 451, in to_datetime
    values = _convert_listlike(arg._values, True, format)

  File "C:UsersHussnainAnaconda3libsite-packagespandascore	oolsdatetimes.py", line 380, in _convert_listlike
    raise e

  File "C:UsersHussnainAnaconda3libsite-packagespandascore	oolsdatetimes.py", line 368, in _convert_listlike
    require_iso8601=require_iso8601

  File "pandas\_libs	slib.pyx", line 492, in pandas._libs.tslib.array_to_datetime

  File "pandas\_libs	slib.pyx", line 739, in pandas._libs.tslib.array_to_datetime

  File "pandas\_libs	slib.pyx", line 733, in pandas._libs.tslib.array_to_datetime

  File "pandas\_libs	slibsparsing.pyx", line 99, in pandas._libs.tslibs.parsing.parse_datetime_string

  File "C:UsersHussnainAnaconda3libsite-packagesdateutilparser\_parser.py", line 1356, in parse
    return DEFAULTPARSER.parse(timestr, **kwargs)

  File "C:UsersHussnainAnaconda3libsite-packagesdateutilparser\_parser.py", line 648, in parse
    raise ValueError("Unknown string format:", timestr)

ValueError: ('Unknown string format:', པ-06-2018 12-50-100')

Всего 2 ответа


У вас неортодоксальный формат даты и времени. Используйте аргумент format .

pd.to_datetime(df.Date, format='%d-%m-%Y %H-%M-%S')

0   2018-06-24 12:50:02
1   2018-06-24 12:50:03
2   2018-06-24 12:50:04
3   2018-06-24 12:50:05
4   2018-06-24 12:50:06
Name: Date, dtype: datetime64[ns]

Смотрите http://strftime.org/ для получения дополнительной информации.


С моей стороны я проверил только с:

pd.to_datetime(df.Date)

И это сработало. Появляется, что у вас нет первого значения Avg_Voltage .


                  Date   Energy    Voltage
1  24-06-2018 12-50-02  2452.93  322323.00
2  24-06-2018 12-50-03  2452.98     228.03
3  24-06-2018 12-50-04  2453.04     228.70
4  24-06-2018 12-50-05  2453.10     228.40
5  24-06-2018 12-50-06  2453.16     228.74

1    2018-06-24 12:00:00-02:00
2    2018-06-24 12:00:00-03:00
3    2018-06-24 12:00:00-04:00
4    2018-06-24 12:00:00-05:00
5    2018-06-24 12:00:00-06:00
Name: Date, dtype: object

Вы можете использовать:

pd.to_datetime(df.Date).dt.strftime('%Y-%m-%d  %H:%M:%S') 

добиться лучшего формата.


Есть идеи?

10000