合并pd.merge()含有相同的某一列两个不同的dataframe表格

前言

两张表dataframe中含有相同的某一列,这个时候可以通过pandas中的pd.merge()方法将其合并为同一个表。

举例:Instacart案例

现在有4张表,由这些数据预测用户下一步将要购买哪些产品,为了完成这样一个任务需要探究用户对物品类别是否喜欢,需要找到用户和类别的关系,用户user_id,物品类别aisile,这两个字段不在同一个表中,所以需要将user_id和aisile放在同一个表中。
首先把4张表都读取进来:

order_products=pd.read_csv('order_products__prior.csv')
order_products

在这里插入图片描述

products=pd.read_csv('products.csv')
products

在这里插入图片描述

orders=pd.read_csv('orders.csv')
orders

在这里插入图片描述

aisles=pd.read_csv('aisles.csv')
aisles

在这里插入图片描述
观察了4个表的字段之后,要将user_id和aisile放在同一个表中步骤如下:
在这里插入图片描述

#aisles和products这两个表都有aisle_id,可以先把这两个表合并起来
tab1=pd.merge(aisles,products,on=["aisle_id","aisle_id"])
#orders和orders_products都含有order_id这个字段,合并一下
tab2=pd.merge(orders,order_products,on=["order_id","order_id"])
#再把tab1和tab2按照product_id合并起来 就完成了目标:将user_id和aisle放在一个表中
tab3=pd.merge(tab1,tab2,on=["product_id","product_id"])
tab3

在这里插入图片描述

总结

本文举例讲述了怎么合并含有相同列索引的不同的dataframe表格,主要用到的方法是pd.merge()。(如果您发现我写的有错误,欢迎在评论区批评指正)。

猜你喜欢

转载自blog.csdn.net/qq_27328197/article/details/113838509