Як виконати зовнішнє об’єднання в pandas (з прикладом)
Зовнішнє об’єднання — це тип об’єднання, яке повертає всі рядки з двох панд DataFrames.
Ви можете використовувати наступний базовий синтаксис для виконання зовнішнього об’єднання в pandaх:
import pandas as pd df1. merge (df2, on=' some_column ', how=' outer ')
У наступному прикладі показано, як використовувати цей синтаксис на практиці.
Приклад: як виконати зовнішнє об’єднання в Pandas
Скажімо, у нас є такі два panda DataFrames, які містять інформацію про різні баскетбольні команди:
import pandas as pd #createDataFrame df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H'], ' points ': [18, 22, 19, 14, 14, 11, 20, 28]}) df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'J', 'K'], ' assists ': [4, 9, 14, 13, 10, 8]}) #view DataFrames print (df1) team points 0 to 18 1 B 22 2 C 19 3 D 14 4 E 14 5 F 11 6 G 20 7:28 a.m. print (df2) team assists 0 to 4 1 B 9 2 C 14 3 D 13 4 D 10 5K 8
Ми можемо використати наступний код для виконання зовнішнього об’єднання, зіставляючи рядки між DataFrames на основі значень стовпців команди та зберігаючи всі рядки з обох DataFrames:
#perform outer join
df1. merge (df2, on=' team ', how=' outer ')
team points assists
0 to 18.0 4.0
1 B 22.0 9.0
2 C 19.0 14.0
3D 14.0 13.0
4 E 14.0 NaN
5 F 11.0 NaN
6G 20.0 NaN
7 H 28.0 NaN
8 J NaN 10.0
9K NaN 8.0
Результатом є DataFrame, який містить усі рядки в кожному DataFrame.
Зверніть увагу, що значення NaN були заповнені для кожного рядка, де значення стовпця команди не існувало в обох DataFrames.
Примітка . Ви можете знайти повну документацію щодо функції злиття тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:
Як виконати анти-з’єднання в Pandas
Як виконати внутрішнє об’єднання в Pandas
Як виконати перехресне з’єднання в Pandas