Pandák
A Pandas a Python beépített könyvtára, amelyet a Python programozási nyelv relációs adatokkal való kezelésére használnak. Rengeteg olyan funkcióval és adatstruktúrával rendelkezik, amelyek segítik a relációs adatok működését.
Ha az adatokat sorok és oszlopok vagy kétdimenziós adatok formájában tárolják, a pandákban általában adatkereteknek nevezik.
Ha két adatkeretünk van, akkor a pandák segítségével ezeket egyesíthetjük vagy egyetlen adatkeretbe egyesíthetjük. A pandák biztosítják a beállított logikát két különböző adatkeret adatainak kombinálásához, valamint logikát azok összehasonlításához.
1. A concat() függvény használata
A pythonban a két adatkeretet összefűzhetjük a Pandas concat() függvénye segítségével. Az adatokat soronként vagy oszloponként is összefűzhetjük. Ez a funkció egyesíti az adatokat egy tengelyen (sor vagy oszlop), és végrehajtja a beállított logikát egy másik tengelyen (egy másik indexen).
Példa:
import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'DEF', 'GHI'], 'Marks':[65,69,96,89]}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'Name': ['XYZ', 'TUV', 'MNO', 'JKL'], 'Marks':[56,96,69,98]}) frames = [dataFrame1, dataFrame2] result = pd.concat(frames) display(result)
Kimenet:
Magyarázat:
A fenti kódban először a Pandas könyvtárat importáltuk a fájlba. Ezután létrehoztuk a két adatkeretet, ahol mindegyik adatkeret három oszlopot és négy sort tartalmaz. Ezután a concat függvényt használtuk, amely ezt a két adatkeretet soronként összefűzi, és a display funkcióval ezt ki is nyomtattuk a képernyőre.
2. Csatlakozások használata pandákban
Megértettük az összekapcsolás fogalmát az adatbázisban, ahol a két táblát valamilyen közös attribútum alapján kapcsoljuk össze. Ugyanez a módszer alkalmazható adatkeretek összefűzésére is. Az egyszerű concat() metódusban az összes sort összevontuk, és létrehoztuk az új adatkeretet. Az összekapcsolásban meghatározzuk, hogy milyen típusú illesztést szeretnénk végrehajtani a táblán, legyen az belső illesztés vagy külső csatlakozás. Bármilyen típusú csatlakozás legyen is a belső illesztés (metszéspont) vagy a külső illesztés (egyesítés), az összekapcsolás attribútumában lesz meghatározva.
Példa:
gépirat nyíl funkció
import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=1, join='inner') display(result)
Kimenet:
Magyarázat:
A fenti kódban két daraframe van, amelyek két oszlopot és négy sort tartalmaznak. Mindkét adatkeretnek más-más oszlopneve van, és a concat() függvényben a belső összekapcsolást használtuk, amely a metszéspontot veszi fel.
Az axis attribútumban inicializáltunk egy értéket, így megkaptuk a teljes adatot.
Példa:
import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'],'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result)
Kimenet:
uri vs url
Mivel nincs közös attribútum, és a belső összekapcsolást alkalmaztuk, így egy üres adatkeretet kaptunk kimenetként. Ha mindkét adatkeretben van közös attribútum:
Példa:
import pandas as pd from IPython.display import display dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'Name': ['ABC', 'PQR', 'TUV', 'JKL']}) dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['NOIDA', 'JAIPUR', 'MANALI', 'DELHI'], 'Age': ['11', '10', '12', '17']}) # the default behaviour is join='outer' # inner join result = pd.concat([dataFrame1, dataFrame2], axis=0, join='inner') display(result)
Kimenet:
Magyarázat:
A fenti kódban van egy attribútumunk, az 'id', ami közös, így az adatkeret csak közös attribútumok alapján jön létre.
3. Az append() metódus használata
A concat() metódus helyett használhatjuk az append() metódust. Ez az append() metódus az egyik adatkeretre vonatkozik.
Példa:
import pandas as pd from IPython.display import display # First DataFrame dataFrame1 = pd.DataFrame({'id': ['A1', 'A2', 'A3', 'A4'], 'City': ['JAIPUR', 'MANALI', 'NOIDA', 'LUCKNOW']}) # Second DataFrame dataFrame2 = pd.DataFrame({'id': ['B1', 'B2', 'B3', 'B4'], 'City': ['MUMBAI', 'UDAIPUR', 'RISHIKESH', 'KASHMIR']}) # append method result = dataFrame1.append(dataFrame2) display(result)
Kimenet:
Magyarázat:
A fenti kódban két adatkeretet egyesítettünk az append módszerrel.