Страницы

Поиск по вопросам

воскресенье, 5 января 2020 г.

Datetime столбец в date-столбец

#python #pandas #datetime


Есть pd.Series  df['Время'], который имеет формат от года до миллисекунды:

>>
0       2018-12-01 00:00:00.000
1       2018-12-01 00:11:24.997
2       2018-12-01 00:15:00.000
3       2018-12-01 00:19:42.000
4       2018-12-01 00:29:59.997
5       2018-12-01 00:31:36.997
6       2018-12-01 00:45:00.000


Нужно перевести создать столбец, наследующий от него только даты:

>>
0       2018-12-01 
1       2018-12-01 
2       2018-12-01 
3       2018-12-01 
4       2018-12-01 
5       2018-12-01 
6       2018-12-01 


В документации внятного объяснения не нашел. Метод df['Время'].date() не работает
на pd.Series, работает только на конкретном элементе df['Время'][0].date()
    


Ответы

Ответ 1



В вашем случае наиболее идиоматическим способом будет использование Series.dt.floor(), т.к. данный метод возвращает Series того же типа как и оригинальный Series: In [92]: d.dt.floor("1D") Out[92]: 0 2018-12-01 1 2018-12-01 2 2018-12-01 3 2018-12-01 4 2018-12-01 5 2018-12-01 6 2018-12-01 dtype: datetime64[ns] In [93]: d.dt.floor("1D").dtype Out[93]: dtype('

Ответ 2



Вы можете обращаться к различным частям даты/времени через Series.dt() In [31]: d = pd.Series(['2018-12-01 00:00:00.000', '2018-12-01 00:11:24.997', ...: '2018-12-01 00:15:00.000', '2018-12-01 00:19:42.000', ...: '2018-12-01 00:29:59.997', '2018-12-01 00:31:36.997', ...: '2018-12-01 00:45:00.000']) ...: ...: In [32]: d Out[32]: 0 2018-12-01 00:00:00.000 1 2018-12-01 00:11:24.997 2 2018-12-01 00:15:00.000 3 2018-12-01 00:19:42.000 4 2018-12-01 00:29:59.997 5 2018-12-01 00:31:36.997 6 2018-12-01 00:45:00.000 dtype: object In [33]: d = pd.to_datetime(d) In [34]: d Out[34]: 0 2018-12-01 00:00:00.000 1 2018-12-01 00:11:24.997 2 2018-12-01 00:15:00.000 3 2018-12-01 00:19:42.000 4 2018-12-01 00:29:59.997 5 2018-12-01 00:31:36.997 6 2018-12-01 00:45:00.000 dtype: datetime64[ns] In [35]: d = d.dt.date In [36]: d Out[36]: 0 2018-12-01 1 2018-12-01 2 2018-12-01 3 2018-12-01 4 2018-12-01 5 2018-12-01 6 2018-12-01 dtype: object

Комментариев нет:

Отправить комментарий