查询datetime并在当前日期、上下时间差之间进行筛选

2024-06-16 09:43:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个数据框(在datetime中),里面充满了2021年潮汐站的潮汐预测

1:我想根据当前日期{tday}进行查询 2:在日期范围内进行过滤;之后{tday}2前2天

我应该如何进行

code and dfquery atempt


Tags: and数据dfdatetimecodequery潮汐tday
1条回答
网友
1楼 · 发布于 2024-06-16 09:43:47

像这样的怎么样?此外,今后,学习如何提供正确格式的reproducible example将使您受益匪浅

from faker import Faker
from itertools import cycle
import pandas as pd
import random
fake = Faker()

#Create fake sample data

tides = cycle(['LW', 'HW'])


def create_rows_faker(num=1):
    output = [{
        "date_time":fake.date_time_between('-5d', 'now'),
        "tide":next(tides),
        "cm_NAP":random.randint(1000,2000)} for x in range(num)]
    return output


df_faker = pd.DataFrame(create_rows_faker(20))

print(df_faker.sort_values(by='date_time'))

             date_time   tide  cm_NAP
16 2021-03-02 16:47:11   LW    1146
14 2021-03-02 22:07:55   LW    1766
1  2021-03-03 00:08:37   HW    1242
7  2021-03-03 03:47:00   HW    1938
10 2021-03-03 20:24:51   LW    1910
8  2021-03-04 19:31:21   LW    1479
3  2021-03-04 19:53:18   HW    1079
13 2021-03-04 20:53:41   HW    1589
0  2021-03-05 22:14:16   LW    1093
15 2021-03-05 23:27:34   HW    1786
19 2021-03-06 00:08:59   HW    1034
17 2021-03-06 02:28:37   HW    1698
5  2021-03-06 04:39:14   HW    1922
4  2021-03-06 07:06:48   LW    1323
18 2021-03-06 07:48:38   LW    1445
9  2021-03-06 10:21:43   HW    1142
6  2021-03-07 02:01:23   LW    1209
11 2021-03-07 02:04:30   HW    1124
12 2021-03-07 06:35:49   LW    1538
2  2021-03-07 06:56:26   LW    1552


# Filter for today's date

print(df_faker[(df_faker['date_time'] > '2021-03-07 00:00:00')])

             date_time   tide  cm_NAP
2  2021-03-07 06:56:26   LW    1552
6  2021-03-07 02:01:23   LW    1209
11 2021-03-07 02:04:30   HW    1124
12 2021-03-07 06:35:49   LW    1538
# filter for 2 days before and 2 days after some arbitrary date range

print(df_faker[(df_faker['date_time'] > '2021-03-05 00:00:00') & (df_faker['date_time'] < '2021-03-07 08:00:00')])

             date_time   tide  cm_NAP
0  2021-03-05 22:14:16   LW    1093
2  2021-03-07 06:56:26   LW    1552
4  2021-03-06 07:06:48   LW    1323
5  2021-03-06 04:39:14   HW    1922
6  2021-03-07 02:01:23   LW    1209
9  2021-03-06 10:21:43   HW    1142
11 2021-03-07 02:04:30   HW    1124
12 2021-03-07 06:35:49   LW    1538
15 2021-03-05 23:27:34   HW    1786
17 2021-03-06 02:28:37   HW    1698
18 2021-03-06 07:48:38   LW    1445
19 2021-03-06 00:08:59   HW    1034

相关问题 更多 >