Як зробити внутрішнє об'єднання в pandas (з прикладом)


Ви можете використовувати наступний базовий синтаксис для виконання внутрішнього об’єднання в pandaх:

 import pandas as pd

df1. merge (df2, on=' column_name ', how=' inner ')

У наступному прикладі показано, як використовувати цей синтаксис на практиці.

Приклад: як виконати внутрішнє об’єднання в Pandas

Скажімо, у нас є такі два фрейми даних panda, які містять інформацію про різні баскетбольні команди:

 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', 'G', 'H'],
                    ' 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
4G 10
5:8 a.m.

Ми можемо використати наступний код для виконання внутрішнього об’єднання, яке зберігає лише ті рядки, де в обох DataFrames з’являється назва команди :

 #perform left join
df1. merge (df2, on=' team ', how=' inner ')

	team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8

Єдині рядки, які містяться в об’єднаному DataFrame, це ті, у яких назва команди відображається в обох DataFrame.

Зауважте, що дві команди було видалено (команди E та F), оскільки вони не відображалися в обох DataFrames.

Зауважте, що ви також можете використовувати pd.merge() із таким синтаксисом, щоб повернути той самий результат:

 #perform left join
p.d. merge (df1, df2, on=' team ', how=' inner ')

	team points assists
0 to 18 4
1 B 22 9
2 C 19 14
3 D 14 13
4 G 20 10
5:28 8

Зауважте, що цей об’єднаний DataFrame збігається з попереднім прикладом.

Примітка : ви можете знайти повну документацію для функції злиття тут .

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові операції в pandas:

Як зробити об’єднання зліва в Pandas
Як об’єднати Pandas DataFrames у кількох стовпцях
Pandas Join або Merge: у чому різниця?

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *