Преобразование столбца int64 в столбец времени - PullRequest
0 голосов
/ 18 июня 2020

У меня есть pandas фрейм данных со столбцом «время», который в настоящее время выглядит так:

ab['ZEIT'].unique()
array([     0, 165505, 203355, ...,  73139,  75211,  74244], dtype=int64)

Как я могу получить из него немецкий формат времени с помощью hh: mm: ss, так что в основном это это выглядит так:

array([00:00:00, 16:55:05, 20:33:55, ..., 07:31:39, 07:52:11, 07:42:44], dtype=?)

1 Ответ

1 голос
/ 18 июня 2020

Используйте pd.to_datetime после преобразования значений в строку с заполненными нулями. Затем вызовите dt аксессуар для time

In [12]: pd.to_datetime(df['ZEIT'].astype(str).str.zfill(6), format='%H%M%S').dt.time
Out[12]: 
0    00:00:00
1    16:55:05
2    20:33:55
3    07:31:39
4    07:52:11
5    07:42:44
Name: ZEIT, dtype: object

Подробности

In [13]: df
Out[13]: 
     ZEIT
0       0
1  165505
2  203355
3   73139
4   75211
5   74244

In [14]: df['ZEIT'].astype(str).str.zfill(6)
Out[14]: 
0    000000
1    165505
2    203355
3    073139
4    075211
5    074244
Name: ZEIT, dtype: object

In [15]: pd.to_datetime(df['ZEIT'].astype(str).str.zfill(6), format='%H%M%S')
Out[15]: 
0   1900-01-01 00:00:00
1   1900-01-01 16:55:05
2   1900-01-01 20:33:55
3   1900-01-01 07:31:39
4   1900-01-01 07:52:11
5   1900-01-01 07:42:44
Name: ZEIT, dtype: datetime64[ns]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...