Python—从一个数据帧中查找Datetime列,并从另一个数据帧中查找Datetime范围

Python—从一个数据帧中查找Datetime列,并从另一个数据帧中查找Datetime范围,python,pandas,datetime,Python,Pandas,Datetime,我是Python新手,这是我的第一个问题 我有df1: DF1: df2:(查找表) 我需要DF1的结果如下: 结果在DF1中: period id cust_id product_id start_time end_time Product_info Name 20181001 1 aa 2 01/10/2018 19:04 01/10/2018 19:31 GHI Xab 20181001 1 aa 2 01/10/2018 1

我是Python新手,这是我的第一个问题

我有df1: DF1:

df2:(查找表)

我需要DF1的结果如下: 结果在DF1中:

period  id  cust_id product_id  start_time  end_time    Product_info    Name
20181001    1   aa  2   01/10/2018 19:04    01/10/2018 19:31    GHI Xab
20181001    1   aa  2   01/10/2018 19:04    01/10/2018 19:31    QQQ Xab
20181001    1   zz  9   01/10/2018 15:57    01/10/2018 16:00    Road    S2
20181001    1   zz  9   01/10/2018 15:57    01/10/2018 16:00    Flash   S2
20181001    1   zz  178 01/10/2018 13:01    01/10/2018 13:36    Chase   T3
20181001    1   zz  231 02/10/2018 02:51    02/10/2018 02:51    None    None
DF1和DF2都是非常大的表,有很多行。请帮我解决这个问题

我还添加了表的图像


提前感谢。

看起来您想要创建两个数据帧,但没有给出任何标准。不清楚为什么要排除某些条目

请参阅,了解如何组织问题,以便我们能提供最大帮助

df1.merge(df2[['product_id', 'Product_info', 'Name']], on='product_id', how='outer')
导致:

      period  id cust_id  product_id        start_time          end_time  \
0   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31
1   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31 
2   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31
3   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
4   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
5   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
6   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
7   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
8   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
9   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
10  20181001   1      zz         231  02/10/2018 02:51  02/10/2018 02:51

   Product_info Name
0           GHI  Xab
1           QQQ  Xab
2           asd  Xab
3        Angele   S2
4          Road   S2
5         Flash   S2
6       Simpson   S2
7         Chase   T3
8         Chase   T3
9        Elaine   T3
10          NaN  NaN

您可以查看有关合并的更多信息。

您想要什么还不清楚。例如,为什么在您的数据帧中,当在源数据帧中,aa的id=1,zz的id=2时,所有值的id现在都是一个。请更详细地了解您实际试图通过查找完成的内容。您好,我想合并产品id上的两个表以及日期和时间在另一个表范围内的表。正如我前面提到的,这两个表对于pd.merge来说非常大。谢谢你的回答,但我不想直接合并产品id,它也取决于日期时间字段。然后你需要更好地定义你的问题,你想合并什么
df1.merge(df2[['product_id', 'Product_info', 'Name']], on='product_id', how='outer')
      period  id cust_id  product_id        start_time          end_time  \
0   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31
1   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31 
2   20181001   1      aa           2  01/10/2018 19:04  01/10/2018 19:31
3   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
4   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
5   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
6   20181001   1      zz           9  01/10/2018 15:57  01/10/2018 16:00
7   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
8   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
9   20181001   1      zz         178  01/10/2018 13:01  01/10/2018 13:36
10  20181001   1      zz         231  02/10/2018 02:51  02/10/2018 02:51

   Product_info Name
0           GHI  Xab
1           QQQ  Xab
2           asd  Xab
3        Angele   S2
4          Road   S2
5         Flash   S2
6       Simpson   S2
7         Chase   T3
8         Chase   T3
9        Elaine   T3
10          NaN  NaN