Python 连接数据帧并创建多索引

Python 连接数据帧并创建多索引,python,pandas,dataframe,multi-index,Python,Pandas,Dataframe,Multi Index,假设我有两个相同形状的数据帧。在每个数据框的第一列中,我有一个产品id(变型项目的父项),在以下列中,我有一些数据(预处理的产品特征/编号),这在两个数据框中是不同的,在最后一列中,我有变型项目pro product的总量(子项到父项产品id) 第一个数据帧: dfaa = pd.DataFrame([['id1', 1, 2, 3, 3], ['id2',4, 5, 6,6 ], ['id3', 7, 8, 9,9]], columns=['prod_id','a', 'b','c','num

假设我有两个相同形状的数据帧。在每个数据框的第一列中,我有一个产品id(变型项目的父项),在以下列中,我有一些数据(预处理的产品特征/编号),这在两个数据框中是不同的,在最后一列中,我有变型项目pro product的总量(子项到父项产品id)

第一个数据帧:

dfaa = pd.DataFrame([['id1', 1, 2, 3, 3], ['id2',4, 5, 6,6 ], ['id3', 7, 8, 9,9]], columns=['prod_id','a', 'b','c','number of prod variants'])
dfbb = pd.DataFrame([['id1', 1.1, 2.2, 3.3, 3], ['id2',4.4, 5.4, 6.6,6 ], ['id3', 7.7, 8.8, 9.9,9]], columns=['prod_id','a', 'b','c','number of prod variants'])
第二个数据帧:

dfaa = pd.DataFrame([['id1', 1, 2, 3, 3], ['id2',4, 5, 6,6 ], ['id3', 7, 8, 9,9]], columns=['prod_id','a', 'b','c','number of prod variants'])
dfbb = pd.DataFrame([['id1', 1.1, 2.2, 3.3, 3], ['id2',4.4, 5.4, 6.6,6 ], ['id3', 7.7, 8.8, 9.9,9]], columns=['prod_id','a', 'b','c','number of prod variants'])

我需要做的是将这些数据帧连接起来,形成一个具有多索引的数据帧,如下所示:

第一个选项是为每个特性提供一个额外的索引级别,该级别由两个原始数据帧的两个值的较低级别的两列组成。我可以想到的第二种选择是,沿着列连接功能,然后添加一个额外的索引级别,该级别描述数字(非NaN值和唯一值)

对于第一个选项,可能需要修改较低索引级别的列的名称(例如,我可以使用a_vals和a_unique来代替a和a),这不会有问题


非常努力地掌握python中的数据,我非常感谢您的帮助。

看看您的一个目标结构,它可以通过
stack()
unstack()

输出
这不是合并的工作方式。请检查并感谢提示,我刚刚编辑了代码。但是对于剩下的部分,我很抱歉:我没有提到任何地方合并^^^我需要做的是加入这些数据帧
join
merge
本质上是一样的。