簡體   English   中英

從兩列合並 pandas dataframe

[英]merge pandas dataframe from two columns

我有兩個具有復合主鍵的數據框,即兩列標識每個元素,我想將這些數據框合並為一個。 我怎樣才能做到這一點? 我的例子是:

import random
import pandas as pd
import numpy as np
A = ['DF-PI-05', 'DF-PI-09', 'DF-PI-10', 'DF-PI-15', 'DF-PI-16',
       'DF-PI-19']


Sig = [100,200,400]*6
B = np.repeat(A,3)
C = pd.DataFrame(list(zip(B,Sig)),columns=['Name','Sig'])
D = pd.DataFrame(list(zip(B,Sig)),columns=['Name','Sig'])
C['param_1'] = np.linspace(0,20,18)
D['param_2'] = np.linspace(20,100,18)

我想通過“名稱”和“Sig”列合並 C 和 D,實際上,“名稱”列沒有排序,我不僅可以將 append C 連接到 D。我需要匹配兩列在一起:“名稱”和“簽名”。

對於簡單的左合並使用:

C.merge(D, on=['Name', 'Sig'], how='left')

到 append D 到 C 為行:

C.append(D.rename(columns={'param_2': 'param_1'}))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM