我有一个数据框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
以仅在TripDates
中包含table1
。生成的过滤表格如下所示:
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
答案 0 :(得分:6)
您正在寻找merge:
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