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"

results matching ""

    No results matching ""