Python—从一个数据帧中查找Datetime列,并从另一个数据帧中查找Datetime范围
我是Python新手,这是我的第一个问题 我有df1: DF1: df2:(查找表) 我需要DF1的结果如下: 结果在DF1中: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
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