python - 按另一个数据框中的日期过滤数据框

标签 python pandas filter dataframe

我有一个数据框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/

相关文章:

python - 刷新装饰器

python - 计算两个日期之间的完整月数?

c++ - C i2c芯片读取MCP9800突然开始失败

javascript 在数组中最多保留相同 obj 的 3 次出现

php - filter_var 密码

python - 索引 [201] = [0,8] 是乱序的。许多稀疏操作需要排序索引。使用 `tf.sparse.reorder` 创建正确排序的副本

python - 如何使用 zc.buildout 安全(基本)验证私有(private) PyPI

python - 在数据框中的列中的特定位置添加字符串

python - 如何将股票市场数据输入Python

python - 如何在 Python 中仅使用列表而不使用字典将城市与国家/地区关联起来?