Фрейм данных Дата-Время Строка Фильтрация - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть фрейм данных с несколькими столбцами и строками, у меня есть столбец «Дата» (месяц / день / год, час: мин: сек. PM), и мне нужно получить из фрейма данных только те строки, которые соответствуютчасть Hour: Min: Sec этого столбца. Столбец содержит данные как объект.

    df.loc[df['Date']== 'month/day/year 11:00:00 PM'].copy

Это работает только когда я указываю месяц / день / год, но я хочу получить строки, которые соответствуютко времени независимо от дня. Кто-нибудь знает, как этого можно достичь?

1 Ответ

0 голосов
/ 19 ноября 2018

Это в 2 шага.Первый создает промежуточный столбец только со временем.Второй выполняет фильтрацию.

>>> import datetime
>>> import pandas as pd
>>> df =pd.DataFrame([[datetime(2018,1,1,2,2,2),1], [ datetime(2018,1,1,3,3,3),2]], columns=['Date','Val'])
                 Date  Val
0 2018-01-01 02:02:02    1
1 2018-01-01 03:03:03    2

1) Создает промежуточный столбец

>>> df['new'] = df['Date'].transform(lambda x: x.time())
>>> df
                 Date  Val       new
0 2018-01-01 02:02:02    1  02:02:02
1 2018-01-01 03:03:03    2  03:03:03

2) Делает фильтрацию

>>> df[df['new'] == datetime.time(2,2,2)]
                 Date  Val       new
0 2018-01-01 02:02:02    1  02:02:02
...