假设我有一个看起来像这样的MultiIndex DataFrame:
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
答案 0 :(得分:1)
在重新设置多索引之前,您将必须重置两个数据框的索引,然后将它们合并。
例如,我的索引名是cp_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
le_id run_seq cp_id cp_name tran_amnt currency current
products
X 104 3 205 E 437 SGD NaN
V 102 3 203 C 783 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