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
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.