Adatelemzőként gyakran szembesül azzal, hogy több adatkészletet kell kombinálni. Ezt meg kell tennie, hogy befejezze az elemzést, és következtetésre jusson vállalkozása/érdekelt felei számára.

Gyakran kihívást jelent az adatok megjelenítése, ha azokat különböző táblákban tárolják. Ilyen körülmények között a csatlakozások bizonyítják értéküket, függetlenül attól, hogy milyen programozási nyelven dolgozik.

A Python-illesztések olyanok, mint az SQL-illesztések: adathalmazokat egyesítenek úgy, hogy soraikat egy közös indexen egyeztetik.

Hozzon létre két DataFrame-et referenciaként

Az útmutató példáinak követéséhez két minta DataFrame-et hozhat létre. Használja a következő kódot az első DataFrame létrehozásához, amely egy azonosítót, keresztnevet és vezetéknevet tartalmaz.

import pandák mint pd

a = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fname": ["Ron", "János", "Helen", "Jenny", "Kenny"],
"Lnév": ["Keith", "Harley", "Kovács", "Kerr-Hislop", "Borbély"]})
nyomtatás(a)

Az első lépéshez importálja a

instagram viewer
pandák könyvtár. Ezután használhat egy változót, a, a DataFrame konstruktor eredményének tárolásához. Adjon át a konstruktornak egy szótárt, amely tartalmazza a szükséges értékeket.

Végül jelenítse meg a DataFrame érték tartalmát a nyomtatási funkcióval, hogy ellenőrizze, hogy minden úgy néz ki, ahogyan azt elvárná.

Hasonlóképpen létrehozhat egy másik DataFrame-et, b, amely azonosítót és fizetési értékeket tartalmaz.

b = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fizetés": [100000, 700000, 80000, 904750, 604772]})

nyomtatásb)

A kimenetet konzolon vagy IDE-ben ellenőrizheti. Meg kell erősítenie a DataFrames tartalmát:

Miben különböznek a csatlakozások a Python egyesítése funkciójától?

A pandas könyvtár az egyik fő könyvtár, amellyel a DataFrame-eket manipulálhatja. Mivel a DataFrame-ek több adatkészletet tartalmaznak, a Pythonban különféle funkciók állnak rendelkezésre az összekapcsoláshoz.

A Python sok egyéb mellett az összekapcsolási és egyesítési funkciókat is kínálja, amelyek segítségével a DataFrame-eket kombinálhatja. A két funkció között éles különbség van, amelyet szem előtt kell tartania, mielőtt bármelyiket használná.

A join függvény két DataFrame-et kapcsol össze azok indexértékei alapján. Az Merge funkció egyesíti a DataFrame-eket az indexértékek és az oszlopok alapján.

Mit kell tudni a csatlakozásokról a Pythonban?

Mielőtt megvitatná az elérhető csatlakozások típusait, néhány fontos dolgot érdemes megjegyezni:

  • Az SQL join az egyik legalapvetőbb funkció és meglehetősen hasonlóak a Python csatlakozásaihoz.
  • A DataFrames-hez való csatlakozáshoz használhatja a pandák. DataFrame.join() módszer.
  • Az alapértelmezett összekapcsolás bal oldali illesztést hajt végre, míg az egyesítés funkció belső összekapcsolást hajt végre.

A Python-illesztés alapértelmezett szintaxisa a következő:

DataFrame.join (egyéb, on=Nincs, hogyan='bal/jobb/belső/külső', lsuffix='', rsufix='',
sort=Hamis)

Hívja meg a csatlakozási metódust az első DataFrame-en, és adja át a második DataFrame-et első paraméterként, Egyéb. A fennmaradó érvek a következők:

  • tovább, amely megnevez egy indexet a csatlakozáshoz, ha egynél több van.
  • hogyan, amely meghatározza a csatlakozás típusát, beleértve a belső, külső, bal és jobb oldali csatlakozást.
  • l utótag, amely az oszlopnév bal utótag-karakterláncát határozza meg.
  • rsufix, amely az oszlopnév jobb utótag-karakterláncát határozza meg.
  • fajta, ami egy logikai érték, amely azt jelzi, hogy rendezni kell-e az eredményül kapott DataFrame-et.

Tanulja meg a különböző típusú csatlakozásokat a Pythonban

A Pythonnak van néhány csatlakozási lehetősége, amelyeket az óra igényétől függően gyakorolhat. Íme a csatlakozási típusok:

1. Bal csatlakozás

A bal oldali összekapcsolás érintetlenül tartja az első DataFrame értékeit, miközben behozza a megfelelő értékeket a másodikból. Például, ha be szeretné hozni a megfelelő értékeket innen b, a következőképpen határozhatja meg:

c = a.join (b, hogyan="bal", lsuffix = "_bal", rsufix = "_jobb", sort = igaz)
nyomtatásc)

Amikor a lekérdezés végrehajtódik, a kimenet a következő oszlophivatkozásokat tartalmazza:

  • ID_left
  • Fname
  • Lnév
  • ID_right
  • Fizetés

Ez az összekapcsolás az első három oszlopot az első DataFrame-ből, az utolsó két oszlopot pedig a második DataFrame-ből húzza ki. Használta a l utótag és rsufix értékeket az ID oszlopok átnevezéséhez mindkét adatkészletből, biztosítva, hogy a kapott mezőnevek egyediek legyenek.

A kimenet a következő:

2. Jobb csatlakozás

A jobb oldali összekapcsolás érintetlenül tartja a második DataFrame értékeit, miközben behozza az egyező értékeket az első táblából. Például, ha be szeretné hozni a megfelelő értékeket innen a, a következőképpen határozhatja meg:

c = b.join (a, hogyan="jobb", lsuffix = "_jobb", rsufix = "_bal", sort = igaz)
nyomtatásc)

A kimenet a következő:

Ha átnézi a kódot, látható néhány nyilvánvaló változás. Például az eredmény tartalmazza a második DataFrame oszlopait az első DataFrame oszlopai előtt.

Használjon értéket jobb a hogyan argumentum egy jobb összekapcsolás megadásához. Figyeld meg azt is, hogyan válthatod át a l utótag és rsufix értékeket, hogy tükrözzék a megfelelő csatlakozás természetét.

A szokásos illesztéseknél előfordulhat, hogy gyakrabban használ baloldali, belső és külső illesztéseket, mint a jobb oldali csatlakozásnál. A felhasználás azonban teljes mértékben az Ön adatigényétől függ.

3. Belső összekapcsolás

Egy belső összekapcsolás szállítja a megfelelő bejegyzéseket mindkét DataFrame-ből. Mivel az illesztések az indexszámokat használják a sorok egyeztetésére, a belső összekapcsolás csak az egyező sorokat adja vissza. Ehhez az illusztrációhoz használjuk a következő két DataFrame-et:

a = pd. DataFrame({"ID": ["001", "002", "003", "004", "005", "006", "007"],
"Fname": ["Ron", "János", "Helen", "Jenny", "Kenny", "Daryl", "Cathy"],
"Lnév": ["Keith", "Harley", "Kovács", "Kerr-Hislop", "Borbély", "Bodnár", "Remény"]})
b = pd. DataFrame({"ID": ["001", "002", "003", "004", "005"],
"Fizetés": [100000, 700000, 80000, 904750, 604772]})

nyomtatás(a)
nyomtatásb)

A kimenet a következő:

A belső csatlakozást a következőképpen használhatja:

c = a.join (b, lsuffix="_bal", rsufix="_jobb", hogyan='belső')
nyomtatásc)

Az eredményül kapott kimenet csak olyan sorokat tartalmaz, amelyek mindkét bemeneti DataFrame-ben léteznek:

4. Külső csatlakozás

Egy külső összekapcsolás mindkét DataFrame összes értékét visszaadja. Az egyező értékkel nem rendelkező sorok esetén az egyes cellákon null értéket állít elő.

Ugyanazt a DataFrame-et használva, mint fent, itt van a külső csatlakozás kódja:

c = a.join (b, lsuffix="_bal", rsufix="_jobb", hogyan='külső')
nyomtatásc)

Csatlakozások használata Pythonban

Az illesztések, akárcsak a megfelelő funkcióik, az összevonás és az összefűzés, sokkal többet kínálnak, mint egy egyszerű összekapcsolási funkció. Az opciók és funkciók sorozatának köszönhetően kiválaszthatja az igényeinek megfelelő opciókat.

A Python által kínált rugalmas lehetőségekkel viszonylag egyszerűen rendezheti az eredményül kapott adatkészleteket, az összekapcsolási funkcióval vagy anélkül.