通过另一个数据框中的日期筛选数据框

3
我有一个数据框query2:
    Site   TripDate       Volume
0   003l 1990-06-10  2202.571850
1   003l 1991-07-26  2543.566201
2   003l 1991-11-01  1702.228651
3   003l 1992-10-15  2753.163510
4   003l 1993-04-01  2550.538237
5   003l 1993-10-08  2241.329021

还有另一张table1

     TripDate  Count
0  1990-06-10     35
1  1991-07-26     35
2  1992-10-15     34
3  1993-10-08     35

我需要将query2过滤,仅包含table1中的TripDates。 过滤后的表格如下:
    Site   TripDate       Volume
0   003l 1990-06-10  2202.571850
1   003l 1991-07-26  2543.566201
2   003l 1992-10-15  2753.163510
3   003l 1993-10-08  2241.329021
1个回答

6

您正在寻找 合并:

In [11]: t1.merge(q2)
Out[11]:
     TripDate  Count  Site       Volume
0  1990-06-10     35  003l  2202.571850
1  1991-07-26     35  003l  2543.566201
2  1992-10-15     34  003l  2753.163510
3  1993-10-08     35  003l  2241.329021

默认情况下,此操作按共享列合并(在本例中仅为TripDate,但您可以指定):
In [12]: t1.merge(q2, on="TripDate")
Out[12]:
     TripDate  Count  Site       Volume
0  1990-06-10     35  003l  2202.571850
1  1991-07-26     35  003l  2543.566201
2  1992-10-15     34  003l  2753.163510
3  1993-10-08     35  003l  2241.329021

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接