logo

Hogyan kombinálhatunk két adatkeretet Pythonban - Pandas

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:

Hogyan kombinálhatunk két adatkeretet Pythonban - Pandas

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:

Hogyan kombinálhatunk két adatkeretet Pythonban - Pandas

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
Hogyan kombinálhatunk két adatkeretet Pythonban - Pandas

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:

Hogyan kombinálhatunk két adatkeretet Pythonban - Pandas

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:

Hogyan kombinálhatunk két adatkeretet Pythonban - Pandas

Magyarázat:

A fenti kódban két adatkeretet egyesítettünk az append módszerrel.