使用逻辑从数据框中过滤数据

时间:2019-03-20 07:48:35

标签: python pandas

我正在尝试使用逻辑从数据帧中过滤数据。

因此,数据框如下所示:

Date1               Date2               Value
01.03.2019 01:00    02.03.2019 00:00    0,824778017
01.03.2019 01:00    03.03.2019 00:00    0,235332219
01.03.2019 01:00    04.03.2019 00:00    0,0545149
01.03.2019 01:00    05.03.2019 00:00    0,088324545
01.03.2019 01:00    06.03.2019 00:00    0,011294991
01.03.2019 19:00    02.03.2019 00:00    0,184424959
01.03.2019 19:00    03.03.2019 00:00    0,610644963
01.03.2019 19:00    04.03.2019 00:00    0,777668521
01.03.2019 19:00    05.03.2019 00:00    0,922268093
01.03.2019 19:00    06.03.2019 00:00    0,654392958
...
02.03.2019 01:00    03.03.2019 00:00    0,388756252
02.03.2019 01:00    04.03.2019 00:00    0,561393704
02.03.2019 01:00    05.03.2019 00:00    0,761488545
02.03.2019 01:00    06.03.2019 00:00    0,831463861
02.03.2019 01:00    07.03.2019 00:00    0,981502269
02.03.2019 19:00    03.03.2019 00:00    0,277360792
02.03.2019 19:00    04.03.2019 00:00    0,502428364
02.03.2019 19:00    05.03.2019 00:00    0,241836513
02.03.2019 19:00    06.03.2019 00:00    0,118992825
02.03.2019 19:00    07.03.2019 00:00    0,584641587
...
03.03.2019 01:00    04.03.2019 00:00    0,236813627
03.03.2019 01:00    05.03.2019 00:00    0,53616114
03.03.2019 01:00    06.03.2019 00:00    0,959270138
03.03.2019 01:00    07.03.2019 00:00    0,856270711
03.03.2019 01:00    08.03.2019 00:00    0,537138196
03.03.2019 19:00    04.03.2019 00:00    0,298802098
03.03.2019 19:00    05.03.2019 00:00    0,850840681
03.03.2019 19:00    06.03.2019 00:00    0,268404466
03.03.2019 19:00    07.03.2019 00:00    0,472132954
03.03.2019 19:00    08.03.2019 00:00    0,189761554

我的目标是:

Date202.03.2019 00:00:0007.03.2019 00:00:00之间给出。

首先:对于给定的Date2,重新运行Value,其中Date1是最近的日期

Date1               Date2               Value
01.03.2019 19:00    02.03.2019 00:00    0,184424959
02.03.2019 19:00    03.03.2019 00:00    0,277360792
03.03.2019 19:00    04.03.2019 00:00    0,298802098
03.03.2019 19:00    05.03.2019 00:00    0,850840681
03.03.2019 19:00    06.03.2019 00:00    0,268404466
03.03.2019 19:00    07.03.2019 00:00    0,472132954

第二:对于给定的Date2,返回Value,其中Date1不超过特定日期

Date1               Date2               Value
01.03.2019 19:00    02.03.2019 00:00    0,184424959
02.03.2019 01:00    03.03.2019 00:00    0,388756252
02.03.2019 01:00    04.03.2019 00:00    0,561393704
02.03.2019 01:00    05.03.2019 00:00    0,761488545
02.03.2019 01:00    06.03.2019 00:00    0,831463861
02.03.2019 01:00    07.03.2019 00:00    0,981502269

我的方法是先过滤Date2,然后过滤Date1

is_date2 = (df ['Date2']> = '02.03.2019 00:00:00 ') & (df [' Date2 '] <'07.03.2019 23:59:59')
df = df.loc [is_date2]

is_date1 = (df ['Date1'] <= '07.03.2019 19:00:00 ') & ... ???
df = df.loc [is_date1]

您还可以将Date1用作预测日期,将Date2用作起息日期

预先感谢

0 个答案:

没有答案