Pandas 将数据帧附加到以前存在的多索引数据帧

Pandas 将数据帧附加到以前存在的多索引数据帧,pandas,Pandas,假设我有一个多索引数据帧,看起来是这样的: C1 C2 C3 A1 B1 B2 A2 B1 B2 如何附加以下数据帧: C1 C2 C3 B3 B4 B5 B6 在A1下方,最终产品如下所示: C1 C2 C3 A1 B1 B2 B3 B4 B5 B6 A2 B1 B2 在再次设置多重索引之前,必须重置两个数据

假设我有一个多索引数据帧,看起来是这样的:

           C1   C2    C3
A1   B1
     B2
A2   B1
     B2
如何附加以下数据帧:

      C1   C2    C3
B3
B4
B5
B6
在A1下方,最终产品如下所示:

           C1   C2    C3
A1   B1
     B2
     B3
     B4
     B5
     B6
A2   B1
     B2

在再次设置多重索引之前,必须重置两个数据帧的索引,然后合并它们

例如,我的索引名是
cp\u name
products
,原始多索引数据框是
d
,而单索引数据框是
temp


#Setting the second index as a variable in the single-index dataframe
temp['cp_name'] = 'A'

#Resetting the indices
d_ = d.reset_index()
temp_ = temp.reset_index()

out = pd.concat([d_, temp_])


out.sort_values(['cp_name','products']).set_index(['cp_name','products'])
原始数据集:


                  le_id  run_seq  cp_id  tran_amnt currency  current
cp_name products                                                    
A       U           101        1    201        100      USD    201.0
B       U           102        1    202        200      USD      NaN
        V           103        1    202        672      INR      NaN
最终产量

                  cp_id currency current  le_id  run_seq  tran_amnt
cp_name products                                                   
A       U           201      USD     201    101        1        100
        V           203      INR     NaN    102        3        783
        X           205      SGD     NaN    104        3        437
B       U           202      USD     NaN    102        1        200
        V           202      INR     NaN    103        1        672

但是它是如何找到不在两个数据集中的
X
cp\u名称的呢?我注意到它只是在第一个
cp\u名称
A中添加了它。问题是在第一个多索引数据帧的
cp\u名称
A下显式添加第二个单索引数据帧。因此,我使用
temp['cp\u name']='A'
                  cp_id currency current  le_id  run_seq  tran_amnt
cp_name products                                                   
A       U           201      USD     201    101        1        100
        V           203      INR     NaN    102        3        783
        X           205      SGD     NaN    104        3        437
B       U           202      USD     NaN    102        1        200
        V           202      INR     NaN    103        1        672