Biblioteka pandas umożliwia połączenie dwóch obiektów DataFrame. Można wykorzystać do tego metodę merge.
Najprostsze wywołanie wykonuje operacje inner join łącząc po kolumnach które mają te same nazwy:
new_df = pd.merge(left_df, right_df)
Aby połączyć po wskazanej kolumnie, która w obu obiektach ma tą samą nazwę, można użyć wywołania:
new_df = pd.merge(left_df, right_df, on='city')
Jeśli kolumny po których można zrealizować połączenie różnią się nazwami, można użyć wywołania:
combined = pd.merge(revenue, managers, left_on='city', right_on='branch')
Możliwe jest również połączenie po więcej niż jednej kolumnie:
combined = pd.merge(revenue, managers, on=['branch_id','city','state'])
Metoda merge _umożliwia również wskazanie jak typ powinien być wykorzystany do połączenia. Atrybut _how przyjmuje wartości: inner, outer, lef i right. Domyślnie wykorzystywany jest typ złączenia 'inner'
Dostarczana jest również metoda merge_ordered, która domyślnie łączy obiekty wykorzystując metodę 'outer' oraz wspiera wykorzystanie atrybutów typu suffixes (łączone są kolumny) i fill_method do specyfikacji funkcji która ma posłużyć do wypełnienia wartości pustych.
pd.merge_ordered(austin, houston, on='date', suffixes=['_aus','_hus'], fill_method='ffill')
Jest jeszcze funkcja merge_asof, która jest podobna do left-join'a ale nie bazuje na równości klucza łączącego, ale jego podobieństwie. Można wyspecyfikować parametr direction, który może przyjmować wartości: "backward", "forward" i "nearest"