Jak wykonać połączenie wewnętrzne w pandach (z przykładem)
Aby wykonać złącze wewnętrzne w pandach, możesz użyć następującej podstawowej składni:
import pandas as pd df1. merge (df2, on=' column_name ', how=' inner ')
Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.
Przykład: Jak wykonać złączenie wewnętrzne w Pandach
Załóżmy, że mamy następujące dwie ramki danych pandy, które zawierają informacje o różnych drużynach koszykówki:
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.
Możemy użyć poniższego kodu, aby wykonać złączenie wewnętrzne, które zachowa tylko wiersze, w których w obu ramkach danych pojawia się nazwa zespołu :
#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
Jedyne wiersze zawarte w połączonej ramce danych to te, w których nazwa zespołu pojawia się w obu ramkach danych.
Należy zauważyć, że dwa zespoły zostały usunięte (zespoły E i F), ponieważ nie pojawiły się w obu ramkach DataFrame.
Pamiętaj, że możesz także użyć pd.merge() z następującą składnią, aby zwrócić dokładnie ten sam wynik:
#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
Należy zauważyć, że ta scalona ramka danych odpowiada tej z poprzedniego przykładu.
Uwaga : Pełną dokumentację funkcji scalania można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:
Jak wykonać lewe połączenie w Pandach
Jak połączyć ramki danych Pandas w wielu kolumnach
Pandy Dołącz lub połącz: jaka jest różnica?