Как извлечь данные за 1 час из python кадра данных? - PullRequest
1 голос
/ 23 апреля 2020

У меня есть фрейм данных, который состоит из длины и времени, здесь я прилагаю пример фрейма данных, я пытался получить данные за 1 час из этого фрейма, можете ли вы помочь мне получить данные за 1 час (если у вас есть идеи для извлечения данных, пожалуйста, дайте мне знать)

Length,Time
0.0,2019-08-26 14:46:36.040
0.0,2019-08-26 14:46:36.043
0.0,2019-08-26 14:56:40.156
0.0,2019-08-26 14:56:40.160
6033.0,2019-08-26 15:01:22.963
6033.0,2019-08-26 15:01:23.034
0.0,2019-08-26 15:01:32.759
0.0,2019-08-26 15:01:32.763
0.0,2019-08-26 16:05:13.365
0.0,2019-08-26 16:05:13.368
0.0,2019-08-26 16:12:08.760
0.0,2019-08-26 16:12:08.760
2658.0,2019-08-26 16:14:48.129
2658.0,2019-08-26 17:14:48.132
0.0,2019-08-26 17:22:49.358
0.0,2019-08-26 17:22:49.361
0.0,2019-08-26 17:22:50.152
0.0,2019-08-26 17:22:50.156
0.0,2019-08-26 17:23:08.735
0.0,2019-08-26 18:23:08.735
0.0,2019-08-26 18:23:08.738
0.0,2019-08-26 18:23:08.738

Спасибо

Ответы [ 2 ]

1 голос
/ 23 апреля 2020

Вы можете отфильтровать максимальный час для данных в boolean indexing:

h = df['Time'].dt.hour
df = df[h.eq(h.max())]
print (df)
    Length                    Time
19     0.0 2019-08-26 18:23:08.735
20     0.0 2019-08-26 18:23:08.738
21     0.0 2019-08-26 18:23:08.738
0 голосов
/ 23 апреля 2020

Установите Time в качестве datetime индекса, а затем выберите строки по часам, например

df = pd.read_csv('d1.csv')
df.Time = pd.to_datetime(df.Time)
df.set_index('Time',inplace=True)

df.loc['2019-08-26 14']
                         Length
Time
2019-08-26 14:46:36.040     0.0
2019-08-26 14:46:36.043     0.0
2019-08-26 14:56:40.156     0.0
2019-08-26 14:56:40.160     0.0

df.loc['2019-08-26 15']
                         Length
Time
2019-08-26 15:01:22.963  6033.0
2019-08-26 15:01:23.034  6033.0
2019-08-26 15:01:32.759     0.0
2019-08-26 15:01:32.763     0.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...