pandák

Pandas bemutató a Pythonban

Pandas bemutató a Pythonban
Ebben a leckében a Python Pandas könyvtárról különféle adatszerkezeteket fogunk megvizsgálni, amelyeket ez a Python-csomag gyors adatfeldolgozási funkciókkal biztosít, amelyek hatékonyak a dinamikus adatokhoz és az összetett műveletek többdimenziós adatokon keresztüli kezeléséhez. Ebben a leckében főként a következőkre térünk ki:

Úgy tűnik, hogy sokat kell fedezni. Kezdjük most.

Mi a Python Pandas csomag?

A Pandas honlapja szerint: a pandas egy nyílt forráskódú, BSD-engedéllyel rendelkező könyvtár, amely nagy teljesítményű, könnyen használható adatstruktúrákat és adatelemző eszközöket kínál a Python programozási nyelv számára.

Az egyik legmenőbb dolog a Pandas-ban az, hogy lehetővé teszi adatok elolvasását olyan általános adatformátumokból, mint a CSV, az SQL stb. nagyon egyszerű, ami egyformán használható gyártási szintű alkalmazásokban vagy csak néhány demo alkalmazásban.

Telepítse a Python Pandas alkalmazást

Csak egy megjegyzés a telepítési folyamat megkezdése előtt, ehhez a leckéhez egy virtuális környezetet használunk, amelyet a következő paranccsal készítettünk:

python -m virtualenv pandák
forrás pandák / bin / aktiválás

Amint a virtuális környezet aktív, a pandas könyvtárat telepíthetjük a virtuális env-be, hogy a következő módon létrehozott példák végrehajthatók legyenek:

pip install pandák

Vagy használhatjuk a Condát a csomag telepítéséhez a következő paranccsal:

conda telepíteni pandákat

Valami ilyesmit látunk, amikor végrehajtjuk a fenti parancsot:

Miután a telepítés befejeződött a Condával, a csomagot Python szkriptjeinkben a következőképpen használhatjuk:

import pandák, mint pd

Most kezdjük el használni a Pandákat a szkriptjeinkben.

CSV fájl olvasása Pandas DataFrames segítségével

CSAND fájl olvasása a Pandas segítségével egyszerű. Bemutatás céljából elkészítettünk egy kis CSV fájlt a következő tartalommal:

Név, névjegyzék, belépés dátuma, vészhelyzeti kapcsolatfelvétel
Shubham, 1,20-05-2012,9988776655
Gagan, 2,20-05-2009, 8364517829
Oshima, 3,20-05-2003,5454223344
Vyom, 4,20-05-2009,1223344556
Ankur, 5,20-05-1999,9988776655
Vinod, 6,20-05-1999,9988776655
Vipin, 7,20-05-2002, 9988776655
Ronak, 8,20-05-2007,1223344556
DJ, 9,20-05-2014,9988776655
VJ, 10,20-05-2015, 9988776655

Mentse el ezt a fájlt a Python szkript könyvtárába. Miután a fájl megtalálható, adja hozzá a következő kódrészletet egy Python-fájlhoz:

import pandák, mint pd
diákok = pd.read_csv ("diákok.csv ")
diákok.fej()

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

A Pandas fej () függvényével meg lehet mutatni a DataFrame-ben jelen lévő adatok mintáját. Várjon, DataFrame? Sokkal többet fogunk tanulmányozni a DataFrame-ről a következő szakaszban, de csak megértsük, hogy a DataFrame egy n-dimenziós adatstruktúra, amely felhasználható egy adatkészleten keresztüli komplex műveletek tárolására és elemzésére.

Azt is láthatjuk, hogy az aktuális adatok hány sort és oszlopot tartalmaznak:

diákok.alak

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Ne feledje, hogy a pandák a 0-tól kezdődő sorok számát is megszámolják.

Lehetséges, hogy csak egy oszlopot kap a listában a Pandas. Ez megtehető a indexelés Pandákban. Nézzünk meg egy rövid kódrészletet ugyanarról:

student_names = hallgatók ['Név']
hallgató_nevek

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

De ez nem úgy néz ki, mint egy lista, ugye? Nos, kifejezetten meg kell hívnunk egy függvényt az objektum listává alakításához:

hallgatónevek = tanulónevek.tolist ()
hallgató_nevek

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Csak további információkért győződhetünk meg arról, hogy a lista minden eleme egyedi, és csak nem üres elemeket választunk néhány egyszerű ellenőrzés hozzáadásával, például:

student_names = hallgatók ['Név'].dropna ().egyedi().tolist ()

Esetünkben a kimenet nem változik, mivel a lista már nem tartalmaz szabálytalanságokat.

Készíthetünk DataFrame-et is nyers adatokkal, és az oszlopneveket továbbadhatjuk velük együtt, amint az a következő kódrészletben látható:

my_data = pd.DataFrame (
[
[1, "Chan"],
[2, "Smith"],
[3, "Winslet"]
],
oszlop = ["Helyezés", "Vezetéknév"]
)
adataim

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

DataFrames szeletelése

A DataFrame lebontása csak a kiválasztott sorok és oszlopok kibontása érdekében fontos funkció, hogy a figyelmet az adatok szükséges részeire irányítsuk, amelyeket használnunk kell. Ehhez a Pandas lehetővé teszi számunkra, hogy szükség szerint szeleteljük a DataFrame-et, például:

Az előző részben már láthattuk az indexelést és az oszlopok nevével való szeletelést az indexek helyett. Keverhető a szeletelés indexszámokkal és oszlopnevekkel is. Nézzünk meg egy egyszerű kódrészletet:

diákok.loc [: 5, 'Név']

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Több oszlop is megadható:

diákok.loc [: 5, ['Név', 'Sürgősségi kapcsolattartó']]

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Sorozat adatstruktúrája pandákban

Csakúgy, mint a Pandas (ami egy többdimenziós adatszerkezet), a sorozat egydimenziós adatstruktúra a Pandasban. Ha egy oszlopot lekérünk egy DataFrame-ből, akkor egy sorozattal dolgozunk:

típus (diákok ["név"])

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Saját sorozatunkat is elkészíthetjük, itt van egy kódrészlet ugyanahhoz:

sorozat = pd.Sorozat (['Shubham', 3.7])
sorozat

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Amint az a fenti példából kitűnik, egy sorozat több adattípust is tartalmazhat ugyanahhoz az oszlophoz.

Logikai szűrők a Pandas DataFrame-ben

Az egyik jó dolog a Pandas-ban az, hogy hogyan lehet adatokat kinyerni egy DataFrame-ből egy feltétel alapján. Csakúgy, mint a hallgatók kivonása, ha a tekercsek száma nagyobb, mint 6:

roll_filter = hallgatók ['RollNo']> 6
roll_filter

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Nos, erre nem számítottunk. Bár a kimenet meglehetősen egyértelmű arról, hogy mely sorok elégítették ki az általunk megadott szűrőt, de még mindig nincsenek pontos sorok, amelyek kielégítették ezt a szűrőt. Kiderült szűrőket használhatunk DataFrame indexként is:

diákok [tekercsszűrő]

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Lehetőség van több feltétel használatára egy szűrőben, hogy az adatok egy tömör szűrőn szűrhetők legyenek, például:

következő_szűrő = (hallgatók ['RollNo']> 6) és (hallgatók ['Név']> 'S')
diákok [következő_szűrő]

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Medián kiszámítása

A DataFrame-ben számos matematikai függvényt is kiszámolhatunk. Jó példát adunk a medián kiszámítására. A medián egy dátumra lesz kiszámítva, nem csak a számokra. Nézzünk meg egy rövid kódrészletet ugyanarról:

dátumok = hallgatók ['Felvételi dátum'].astype ('datetime64 [ns]').kvantilis (.5)
dátumokat

A fenti kódrészlet futtatása után a következő kimenetet látjuk:

Ezt úgy értük el, hogy először indexeltük a dátum oszlopot, majd adattípust adtunk az oszlopnak, hogy a Pandas helyesen következtethessen rá, amikor a kvantilis függvényt alkalmazza a medián dátum kiszámításához.

Következtetés

Ebben a leckében megvizsgáltuk a Pandas feldolgozási könyvtárának különböző aspektusait, amelyeket a Python segítségével használhatunk a különböző forrásokból származó adatok gyűjtésére egy DataFrame adatstruktúrába, amely lehetővé teszi számunkra az adatkészlet kifinomult működését. Ez lehetővé teszi számunkra, hogy olyan részhalmazokat kapjunk, amelyeken pillanatnyilag dolgozni akarunk, és számos matematikai műveletet biztosít.

Kérjük, ossza meg visszajelzését a leckéről a Twitteren a @sbmaggarwal és a @LinuxHint oldalakon.

A top 5 ergonómikus számítógépes egértermék Linuxhoz
Hosszan tartó számítógép-használat okoz-e fájdalmat a csuklóján vagy az ujjain?? Merev ízületek szenvednek, és folyamatosan kezet kell rázniuk? Égő fá...
Az egér és az érintőpad beállításainak módosítása az Xinput használatával Linux alatt
A legtöbb Linux disztribúció alapértelmezés szerint „libinput” könyvtárral szállítja a rendszer bemeneti eseményeit. Feldolgozhatja a Wayland és az X ...
Az X-Mouse Button Control segítségével az egér gombjait másképp alakíthatja át a különböző szoftvereknél
Lehet, hogy szüksége van egy eszközre, amely megváltoztathatja az egér vezérlését minden használt alkalmazással. Ebben az esetben kipróbálhatja az úgy...