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