我通过合并2个数据帧并删除重复行来创建数据帧。是否有一个命令允许我通过删除特定列的日期低于今天的日期/已过期的行来进一步过滤此数据框?
答案 0 :(得分:1)
使用boolean indexing
或query
,但需要反转条件 - 过滤当前及更高的值:
rng = pd.date_range('2017-08-01', periods=10)
df = pd.DataFrame({'Date': rng, 'a': range(10)})
print (df)
Date a
0 2017-08-01 0
1 2017-08-02 1
2 2017-08-03 2
3 2017-08-04 3
4 2017-08-05 4
5 2017-08-06 5
6 2017-08-07 6
7 2017-08-08 7
8 2017-08-09 8
9 2017-08-10 9
df1 = df[df['Date'] >= pd.datetime.today()]
print (df1)
Date a
2 2017-08-03 2
3 2017-08-04 3
4 2017-08-05 4
5 2017-08-06 5
6 2017-08-07 6
7 2017-08-08 7
8 2017-08-09 8
9 2017-08-10 9
date_today = pd.datetime.today()
df1 = df.query("Date >=@date_today")
print (df1)
Date a
2 2017-08-03 2
3 2017-08-04 3
4 2017-08-05 4
5 2017-08-06 5
6 2017-08-07 6
7 2017-08-08 7
8 2017-08-09 8
9 2017-08-10 9