【问题标题】:Filter Data Frame by dates in another dataframe按另一个数据框中的日期过滤数据框
【发布时间】:2016-10-02 18:10:54
【问题描述】:

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

【问题讨论】:

    标签: python pandas filter dataframe


    【解决方案1】:

    你正在寻找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
    

    【讨论】:

      猜你喜欢
      • 2018-03-08
      • 2019-12-21
      • 1970-01-01
      • 2017-06-28
      • 2016-08-03
      • 2021-09-09
      • 2020-11-16
      • 2023-03-12
      • 2021-10-31
      相关资源
      最近更新 更多