我有一个数据框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
最佳答案
您正在寻找 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
关于python - 按另一个数据框中的日期过滤数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37601460/