pd.merge تستخدم للدمج العمودي كما أنها تعتمد على المفاتيح Keys أي تعتمد على الدمج حسب المشترك لكن pd.concat يمكنها الدمج إما عموديا أو رأسيا عندما يكون ال axis=0 يدمج عموديا لكن عندما يكون axis=1 فيدمج أفقيا وستخدم لدمج الجداول بأكملها.
مثال على merge حيث اعتمد على المفتاح:
import pandas as pd
data1 = {'key': ['K0', 'K1', 'K2', 'K3'],
'Name':['Jai', 'Princi', 'Gaurav', 'Anuj'],
'Age':[27, 24, 22, 32],}
data2 = {'key': ['K0', 'K1', 'K2', 'K3'],
'Address':['Nagpur', 'Kanpur', 'Allahabad', 'Kannuaj'],
'Qualification':['Btech', 'B.A', 'Bcom', 'B.hons']}
# Convert the dictionary into DataFrame
df = pd.DataFrame(data1)
# Convert the dictionary into DataFrame
df1 = pd.DataFrame(data2)
print(df, "\n\n", df1)
res = pd.merge(df, df1, on='key')
res
مثال على concat حيث تم الدمج افقيا:
import pandas as pd
df1 = pd.DataFrame({'A': ['A0', 'A1', 'A2', 'A3'],
'B': ['B0', 'B1', 'B2', 'B3']})
display('df1:', df1)
df2 = pd.DataFrame({'C': ['C0', 'C1', 'C2', 'C3'],
'D': ['D0', 'D1', 'D2', 'D3']})
display('df2:', df2)
display('After concatenating:')
display(pd.concat([df1, df2],
axis = 1))
فنستخدم حسب المعطيات التي لدينا وعلى حسب المراد فعله.