![](/img/trans.png)
[英]Get columns names from one data frame and add them as empty columns in another data frame in pandas
[英]Pandas Copy columns from one data frame to another with different name
我必須將列從一個 DataFrame A
復制到另一個 DataFrame B
。 A
和B
中的列名不匹配。
最好的方法是什么? 像這樣的欄目有好幾列。 我是否需要為每一列寫B["SO"] = A["Sales Order"]
等?
我會使用pd.concat
combined_df = pd.concat([df1, df2[['column_a', 'column_b']]], axis=1)
還使您能夠連接不同大小的日期框、外部連接等。
采用:
df1 = pd.DataFrame({
'SO':list('abcdef'),
'RI':[4,5,4,5,5,4],
'C':[7,8,9,4,2,3],
})
print (df1)
SO RI C
0 a 4 7
1 b 5 8
2 c 4 9
3 d 5 4
4 e 5 2
5 f 4 3
df2 = pd.DataFrame({
'D':[1,3,5,7,1,0],
'E':[5,3,6,9,2,4],
'F':list('aaabbb')
})
print (df2)
D E F
0 1 5 a
1 3 3 a
2 5 6 a
3 7 9 b
4 1 2 b
5 0 4 b
為重命名創建字典,匹配 select 列,通過dict
重命名和DataFrame.join
到原始 - 按索引值匹配的數據幀:
d = {'SO':'Sales Order',
'RI':'Retail Invoices'}
df11 = df1[d.keys()].rename(columns=d)
print (df11)
Sales Order Retail Invoices
0 a 4
1 b 5
2 c 4
3 d 5
4 e 5
5 f 4
df = df2.join(df11)
print (df)
D E F Sales Order Retail Invoices
0 1 5 a a 4
1 3 3 a b 5
2 5 6 a c 4
3 7 9 b d 5
4 1 2 b e 5
5 0 4 b f 4
制作縮寫詞詞典。 並嘗試此代碼。
前任:
full_form_dict = {'SO':'Sales Order',
'RI':'Retail Invoices',}
A_col = list(A.columns)
B_col = [v for k,v in full_form_dict.items() if k in A_col]
# to loop over A_col
# B_col = [v for col in A_col for k,v in full_form_dict.items() if k == col]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.