Ismerje meg, hogyan egyesíthet adatkereteket Pythonban

Ismerje meg, hogyan egyesíthet adatkereteket Pythonban

Ha Pythont használ, még a legegyszerűbb feladatokhoz is, valószínűleg tisztában van a harmadik féltől származó könyvtárak fontosságával. A Pandas könyvtár, amely kiválóan támogatja a DataFrames-et, egy ilyen könyvtár.





Több típusú fájlt importálhat a Python DataFrames-be, és különféle verziókat hozhat létre különböző adatkészletek tárolására. Miután importálta az adatokat a DataFrames használatával, egyesítheti őket a részletes elemzés elvégzéséhez.





Az alapok kezelése

Mielőtt elkezdené az egyesítést, rendelkeznie kell DataFrames-szel az egyesítéshez. Fejlesztési célból kísérletezés céljából létrehozhat néhány áladatot.





Hozd létre a DataFrame-eket Pythonban

Első lépésként importálja a Pandas könyvtárat a Python-fájlba. A Pandas egy harmadik féltől származó könyvtár, amely Pythonban kezeli a DataFrame-eket. Használhatja a import nyilatkozat a könyvtár használatáról, az alábbiak szerint:

import pandas as pd

A kódhivatkozások lerövidítéséhez álnevet rendelhet a könyvtár nevéhez.



Szótárakat kell létrehoznia, amelyeket DataFrame-ekké konvertálhat. A legjobb eredmény érdekében hozzon létre két szótári változót – dict1 és dict2- meghatározott információk tárolására:

dict1 = {"user_id": ["001", "002", "003", "004", "005"], 
"FName": ["John", "Brad", "Ron", "Roald", "Chris"],
"LName": ["Harley", "Cohen", "Dahl", "Harrington", "Kerr-Hislop"]}

dict2 = {"user_id": ["001", "002", "003", "004"], "Age": [15, 28, 34, 24]}

Ne feledje, hogy mindkét szótári értékben közös elemnek kell lennie, hogy később elsődleges kulcsként működjön a DataFrame-ek kombinálásához.





Alakítsa át szótárait DataFrame-ekké

A szótári értékek DataFrame-ekké alakításához a következő módszert használhatja:

df1 = pd.DataFrame(dict1) 
df2 = pd.DataFrame(dict2)

Egyes IDE-k lehetővé teszik a DataFrame-en belüli értékek ellenőrzését a DataFrame függvényre való hivatkozással és a Futtatás/végrehajtás . Sokan vannak Python-kompatibilis IDE-k , így kiválaszthatja azt, amelyik a legkönnyebben megtanulható.





hogyan vegye le az üveg képernyővédőt
  Jupyter Notebook kódrészlet

Ha elégedett a DataFrame-ek tartalmával, folytathatja az egyesítési lépést.

Keretek kombinálása az Egyesítés funkcióval

Az egyesítési funkció az első Python-függvény, amellyel két DataFrame-et kombinálhat. Ez a függvény a következő alapértelmezett argumentumokat veszi fel:

pd.merge(DataFrame1, DataFrame2, how= type of merge)

Ahol:

  • pd a Pandas könyvtár álneve.
  • összeolvad a DataFrame-eket egyesítő függvény.
  • DataFrame1 és DataFrame2 a két összevonandó DataFrame.
  • hogyan meghatározza az egyesítés típusát.

Néhány extra opcionális argumentum is elérhető, amelyeket összetett adatszerkezet esetén használhat.

Különböző értékeket használhat a how paraméterben a végrehajtandó összevonás típusának meghatározásához. Az ilyen típusú egyesítések ismerősek lesznek, ha már SQL-t használt az adatbázistáblák összekapcsolására .

Bal oldali összevonás

A bal oldali összevonási típus érintetlenül hagyja az első DataFrame értékeit, és lekéri a megfelelő értékeket a második DataFrame-ből.

  Jupyter Notebook kódrészlet

Jobb egyesítés

A megfelelő összevonási típus érintetlenül tartja a második DataFrame értékeit, és lekéri az egyező értékeket az első DataFrame-ből.

hogyan kell menteni egy illusztrátor fájlt jpeg formátumban
  Jupyter Notebook kódrészlet

Belső összeolvadás

A belső egyesítési típus megőrzi az egyező értékeket mindkét DataFrame-ből, és eltávolítja a nem egyező értékeket.

  Jupyter Notebook kódrészlet

Külső összevonás

A külső összevonási típus megtartja az összes egyező és nem egyező értéket, és egyesíti a DataFrame-eket.

  Jupyter Notebook kódrészlet

A Concat függvény használata

Az concat függvény rugalmas lehetőség a Python néhány más egyesítő funkciójához képest. A concat funkcióval a DataFrame-eket függőlegesen és vízszintesen kombinálhatja.

Ennek a funkciónak azonban az a hátránya, hogy alapértelmezés szerint elveti a nem egyező értékeket. Más kapcsolódó függvényekhez hasonlóan ennek a függvénynek is van néhány argumentuma, amelyek közül csak néhány nélkülözhetetlen a sikeres összefűzéshez.

concat(dataframes, axis=0, join='outer'/inner)

Ahol:

  • concat az a függvény, amely a DataFrames-hez csatlakozik.
  • adatkeretek az összefűzendő DataFrame-ek sorozata.
  • tengely az összefűzés irányát jelöli, a 0 a vízszintes, az 1 a függőleges.
  • csatlakozik külső vagy belső csatlakozást határoz meg.

A fenti két DataFrame használatával a következőképpen próbálhatja ki a concat függvényt:

# define the dataframes in a list format 
df_merged_concat = pd.concat([df1, df2])

# print the results of the Concat function
print(df_merged_concat)

A tengely és az összekapcsolási argumentumok hiánya a fenti kódban egyesíti a két adatkészletet. Az eredményül kapott kimenet az összes bejegyzést tartalmazza, az egyezés állapotától függetlenül.

Hasonlóképpen további argumentumokat is használhat a concat függvény irányának és kimenetének szabályozására.

A kimenet vezérléséhez az összes egyező bejegyzéssel:

# Concatenating all matching values between the two dataframes based on their columns 
df_merged_concat = pd.concat([df1, df2], axis=1, join = 'inner')

print(df_merged_concat)

Az eredmény csak a két DataFrame közötti összes egyező értéket tartalmazza.

  Jupyter Notebook kódrészlet

DataFrame-ek egyesítése Pythonnal

A DataFrame-ek rugalmasságuk és funkcionalitásuk miatt a Python szerves részét képezik. Sokrétű felhasználási területüknek köszönhetően széles körben használhatja őket különféle feladatok rendkívül egyszerű elvégzésére.

hogyan lehet megszüntetni a készpénzes alkalmazásfiókot

Ha még mindig tanul a Python DataFrames-ről, próbáljon meg importálni néhány Excel-fájlt, majd kombinálja őket különböző megközelítésekkel.