Dátumtáblázat létrehozása a LuckyTemplates alkalmazásban
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
A Pandas egy széles körben használt Python-könyvtár adatkezelésre és -elemzésre. Az egyik alapvető funkció, amelyet a pandák nyújthatnak Önnek, az adatkészlet szerkezetének módosítása. Pontosabban, az indexek eldobása egy DataFrame-ben kulcsfontosságú művelet az adatkészletekkel való munka során. Lehetővé teszi a nem kívánt sorok vagy oszlopok eltávolítását az adatokból.
Ha pandákkal szeretne indexet dobni, használhatja a .drop() és a .reset_index() metódusokat. A .drop() metódus lehetővé teszi bizonyos sorok vagy oszlopok eltávolítását. Másrészt a .reset_index() metódus lehetővé teszi az index eltávolítását és az alapértelmezett RangeIndex visszaállítását.
Ebben a cikkben megvitatjuk ezen módszerek használatát az indexek eldobására a panda DataFrame-ekben. Különféle példákon keresztül bemutatjuk, hogyan lehet hatékonyan manipulálni egy adatkészlet szerkezetét, hogy megfeleljen a különböző elemzési igényeknek. Ezeken a példákon keresztül mélyebben megértheti, hogyan használható a panda-könyvtár adatkezelésre.
Menjünk bele!
Tartalomjegyzék
A Panda Drop Index megértése
Mielőtt belemerülnénk a pandák indexelésének kérdésébe, nagyon fontos, hogy megértse, mi az a panda DataFrame. Ezenkívül ismernie kell az indexek és oszlopok fogalmát a pandas DataFrame-ben.
Ebben a részben a panda DataFrame alapjait, az indexet és az oszlopokat ismertetjük. Ezután megnézünk egy példát egy index eldobására pandák használatával.
1. Mi az a Pandas Dataframe?
A Pandas egy nyílt forráskódú Python-könyvtár, amely nagy teljesítményű adatkezelési és -elemző eszközöket biztosít. Egyik kulcsfontosságú adatstruktúrája a DataFrame .
A pandas DataFrame egy kétdimenziós adatstruktúra címkézett tengelyekkel (sorokkal és oszlopokkal). A DataFrame egy SQL-tábla vagy egy Excel-táblázat Pythonic objektum-reprezentációjaként is elképzelhető.
A következő egy tipikus panda DataFrame:
2. Mik azok az indexek és az oszlopok?
A pandas DataFrame-ben az Index az adatpontok „címeként” szolgál. Eszközt biztosít az adatok eléréséhez és rendszerezéséhez a DataFrame-en keresztül. Ez lehet a pandák által hozzárendelt alapértelmezett egész számok sorozata, vagy egy felhasználó által meghatározott egyéni index.
Az oszlopok azok a változók, amelyek különböző típusú adatokat tárolnak a DataFrame-ben. Minden oszlop lényegében egy adatsor. Különféle adattípusokat tartalmazhat, például egész számokat, lebegőpontokat vagy karakterláncokat. Az oszlop címkéje, amelyet általában oszlopnévnek neveznek, azonosítja ezt az adatsort.
A pandas DataFrame-ben az adatkezelés gyakran magában foglalja a sorcímkékkel (indexekkel) vagy oszlopcímkékkel való munkát.
A többindexes DataFrame-mel végrehajtható néhány gyakori művelet közé tartozik a sorok vagy oszlopok kijelölése, átnevezése és eldobása a címkéik alapján.
3. Hogyan lehet eldobni az indexoszlopot pandákkal
A pandákban a DataFrame reset_index() metódussal eldobhatja és visszaállíthatja az indexet.
Tegyük fel, hogy a következő DataFrame-ünk van:
Az index oszlop eldobásához a következő kódot használhatjuk:
df.reset_index(drop=True)
A kód futtatása után az alábbi példa jelenik meg:
A kimenetben láthatja, hogy az indexet eldobták, és az eredeti indexértékekkel helyettesítették.
A pandákban a drop módszert is használhatja a megadott címkék eltávolítására a sorokból vagy oszlopokból.
Ennek a módszernek a szintaxisa:
DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')
A drop módszer legfontosabb paraméterei a következők :
címkék : Az eltávolítandó címkék. A tengelyparamétertől függően sorok vagy oszlopok is lehetnek .
tengely : Meghatározza, hogy sorokból ( 0 vagy 'index' ) vagy oszlopokból ( 1 vagy 'oszlopok' ) kerüljön-e le.
index : Alternatíva az axis=0 megadására . Lehetővé teszi az eltávolítandó sorcímkék jelzését.
oszlopok : Alternatíva az axis=1 megadására . Lehetővé teszi az oszlopcímkék eltávolítását.
inplace : Ha True értékre van állítva , a művelet a helyén kerül végrehajtásra, ami azt jelenti, hogy az eredeti DataFrame módosul. Ha False (alapértelmezett), akkor a rendszer egy új DataFrame-et küld vissza a megadott címkékkel.
errors : A hiányzó címkék kezelését szabályozza. Ha 'raise' (alapértelmezett), akkor hibaüzenet jelenik meg, ha nem található címkék. Ha „kényszerít” , a hiányzó címkéket a rendszer csendben figyelmen kívül hagyja.
Tegyük fel, hogy a következő DataFrame-ünk van:
Az 1-es indexű sort szeretnénk eldobni. Ehhez a drop metódussal a következő kódot írhatjuk, kezdve az import pandákkal:
import pandas as pd
# Drop row with index 1
df.drop(1, axis=0)
A drop tengely=0 argumentuma közli az értelmezővel, hogy soronkénti műveletet hajtunk végre. A második argumentum 1 a sorindex. Azt mondja az értelmezőnek, hogy hagyja el az 1-es indexű sort.
A fenti művelet után a következő DataFrame-et kapjuk:
Tegyük fel, hogy el akarjuk dobni a DataFrame-ünkből azt az oszlopot, amelynek oszlopfejléce az Életkor. Ennek eléréséhez a következő kódot írhatjuk:
# Drop column 'Age'
df.drop('Age', axis=1)
Az axis=1 argumentum közli az értelmezővel, hogy oszloponkénti műveletet hajtunk végre. Az „Age” argumentum arra utasítja a tolmácsot, hogy dobja el az „Age” nevű oszlopot .
A fenti kód futtatása után a következő DataFrame-et kapja:
Több sor és oszlop eldobása
A fenti példa egyetlen sor vagy oszlop eldobását mutatja be. Mi a teendő, ha több sort vagy oszlopot szeretne eldobni?
Ennek eléréséhez ugyanazt a kódot fogjuk használni, némi változtatással. Egyetlen érték használata helyett számos argumentumot is megadhatunk a drop függvénynek, hogy egyszerre több sort és oszlopot távolítsunk el.
Tegyük fel, hogy el akarom dobni az első 2 sort a DataFrame-ben. Ennek eléréséhez a következő kódot használhatjuk:
# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)
Ebben a kódban azt mondjuk az értelmezőnek, hogy hagyja el a 0 és 1 sorokat. A kód kimenete az alábbiakban látható:
Látható, hogy a 0. és 1. sor már nincs a DataFrame-ben.
Dobjuk el az Osztály és a Fizetés oszlopokat is. Ehhez a következő kódot használhatjuk:
# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)
Ebben a szkriptben megkérjük a tolmácsot, hogy dobja el azokat az oszlopokat, amelyek oszlopfejléceként a Fizetés és az Osztály szerepel. Ennek a kódnak a kimenete az alábbiakban látható:
Ez az utolsó DataFrame-ünk. Összesen két sort és két oszlopot töröltünk a DataFrame-ünkből a drop módszerrel.
Ha többet szeretne megtudni a pandák MultiIndexéről, tekintse meg a következő videót:
Sorok és oszlopok eldobása Inplace segítségével
Az előző példában láthatja, hogy először módosítjuk a DataFrame-et, majd elmentjük új DataFrame-ként. Ez azonban nem hatékony módja a sorok és oszlopok eldobásának.
A sorok és oszlopok eldobásának másik alternatívája, ha a drop függvény inplace argumentumát igazra állítja .
Ha az inplace paramétert True értékre állítja , akkor véglegesen módosíthatja a DataFrame-et anélkül, hogy újra hozzá kellene rendelnie.
Ez akkor hasznos, ha nagy DataFrame-ekkel foglalkozik, mivel memóriát takaríthat meg azáltal, hogy elkerüli az új DataFrame létrehozását.
A következő példa a sorok és oszlopok eldobására a helyben :
# Dropping rows by index inplace
df.drop(labels=[0, 1], axis=0, inplace=True)
# Dropping columns by name inplace
df.drop(['Salary', 'Department'], axis=1, inplace=True)
A fenti kód kimenete az alábbiakban látható:
Itt láthatja, hogy nem hozunk létre új DataFrame-et, hanem módosítjuk az eredetit.
Hogyan dolgozzunk az indexekkel a pandákban
Ebben a részben megvitatjuk, hogyan dolgozhatunk indexekkel egy pandas DataFrame-ben. A következő két alszakaszra térünk ki:
Állítsa be és állítsa vissza az indexet
ID és index oszlop
1. Az index beállítása és visszaállítása
A pandákkal való munka egyik fontos szempontja az indexoszlopok beállításának és visszaállításának a megértése. Az index minden sor kulcsazonosítója, és vannak olyan esetek, amikor érdemes módosítani.
Új index beállítása
Új index beállításához használhatja a set_index() metódust. A set_index szintaxisa az alábbiakban látható:
df.set_index('column_name', inplace=True)
Az inplace=True argumentum itt azt jelenti, hogy módosítjuk a meglévő DataFrame-et.
Ennek bemutatására a következő DataFrame-et használjuk:
Tegyük fel, hogy a Név oszlopot a DataFrame indexévé szeretnénk tenni. Ennek eléréséhez a következő kódot használhatjuk:
df.set_index('Name', inplace=True)
Ez a Python-szkript a Name-t fogja a DataFrame indexévé tenni. Ennek a kódnak a kimenete az alábbiakban látható:
Az Index értékek visszaállítása
Az index visszaállításához az alapértelmezett formátumra (azaz a RangeIndex értékére 0-tól a DataFrame mínusz 1-ig), használhatja a reset_index() metódust.
A reset_index() szintaxisa az alábbiakban látható:
df.reset_index(drop=True, inplace=True)
A drop=True beállításával az aktuális indexoszlop eltávolításra kerül, míg az inplace=True biztosítja, hogy a változtatások közvetlenül a DataFrame-re vonatkozzanak anélkül, hogy újat hoznának létre.
Amikor ezt a kódot alkalmazzuk az előző DataFrame-re, a következő kimenetet kapjuk:
Láthatja, hogy a Név, amely korábban az indexünk volt, visszaállt az alapértelmezett értékekre.
2. További műveletek az indexoszloppal
Amikor például egy CSV-fájlból importál egy DataFrame-et, az index_col paraméterrel megadhat egy oszlopot, amelyet indexként használ.
Az index_col szintaxisa az alábbiakban látható:
df = pd.read_csv('data.csv', index_col='column_name')
Továbbá, ha egy DataFrame-et szeretne exportálni az index oszlop nélkül, akkor az index paramétert False értékre állíthatja .
A módszer szintaxisa az alábbiakban található:
df.to_csv('output.csv', index=False)
Most, hogy megértette az index eldobásának módszerét, nézzük meg, hogyan kezelheti a hibákat a drop függvény használatakor a következő részben.
Hogyan kezeljük a hibákat a Drop funkció használatakor a Pandákban
Ebben a részben megvizsgáljuk, hogyan kezeljük a hibákat és a különleges eseteket, amikor a pandák drop funkciójával eltávolítjuk az indexoszlopokat a DataFrame-ből.
Konkrétan a következőkről fogunk beszélni:
KeyError kezelése
Munka ismétlődő sorokkal
1. A KeyError kezelése
Amikor a drop funkciót pandákban használja, KeyError-ral találkozhat, ha a megadott index vagy oszlop nem található a DataFrame-ben.
A hiba előfordulásának megelőzése érdekében használhatja a errors paramétert. A errors paraméternek két lehetősége van: „emelés” és „figyelmen kívül hagyás”. Alapértelmezés szerint "emelés" értékre van állítva, ami azt jelenti, hogy a kulcshiba emelődik, ha a megadott index vagy oszlop nem található.
Ha azonban el akarja távolítani a hibát, és folytatni szeretné a kód végrehajtását, beállíthatja a „figyelmen kívül hagyás” beállítást.
Tegyük fel, hogy megvan a következő DataFrame. Próbáljunk meg eldobni egy olyan sort, amely nem létezik a DataFrame-ben, és nézzük meg, mi történik:
# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)
A Python szkript a következő hibát adja:
Az ilyen hibák kezeléséhez győződjön meg arról, hogy az adatkészletben található sorokra hivatkozik.
2. Az ismétlődő sorok kezelése
Az adatok tisztítása során fontos feladat az ismétlődések keresése és eltávolítása.
A DataFrame ismétlődő sorainak kezelése bonyolultabbá teheti a drop funkció használatakor .
Ha el szeretné dobni a sorokat a megkettőzött indexértékek alapján, használhatja a duplikált függvényt, majd logikai indexeléssel csak a nem duplikált sorokat jelölheti ki.
Tegyük fel, hogy a következő DataFrame-ünk van:
Láthatja, hogy az adatkészletünkben ismétlődő indexek vannak. Az ismétlődések eltávolításához először azonosítjuk az ismétlődő értékeket a következő kóddal:
# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')
Ezt követően csak a nem duplikált sorokat jelöljük ki, és tároljuk az előző DataFrame-ben a következő kóddal:
# Select only non-duplicated rows
df = df[~duplicated_rows]
A végső kimenet az alábbiakban látható:
A végső kimenetben már nincsenek ismétlődő sorok.
Végső gondolatok
Ahogy folytatja adattudományi és elemzési útját, az adatok manipulálásának és kezelésének megértése a legfontosabb készség.
Ennek kulcsfontosságú része az olyan műveletek elsajátítása, mint az indexek eldobása a pandákban. Az index alaphelyzetbe állításának vagy eldobásának ismerete ugródeszkát jelent az adatok megtisztítása, átalakítása és értékes ismeretek megszerzése felé.
Ha megtanulja, hogyan kell eldobni az indexeket, akkor hatékonyabban alakíthatja át DataFrame-eit. Lehetőség lesz tisztább adatkészletek létrehozására is, amelyek könnyebben olvashatók és elemezhetők. Ezenkívül az indexek alaphelyzetbe állítása kulcsfontosságú lehet több DataFrame egyesítésekor vagy összefűzésekor, ahol indexütközések léphetnek fel.
Az indexek eldobásának képessége lehetővé teszi az adatkészletek nagyobb ellenőrzését és rugalmasságát!
Tudja meg, miért fontos egy dedikált dátumtáblázat a LuckyTemplatesben, és ismerje meg ennek leggyorsabb és leghatékonyabb módját.
Ez a rövid oktatóanyag kiemeli a LuckyTemplates mobil jelentési funkcióját. Megmutatom, hogyan készíthet hatékony jelentéseket mobileszközökön.
Ebben a LuckyTemplates bemutatóban olyan jelentéseket tekintünk át, amelyek professzionális szolgáltatáselemzést mutatnak be egy olyan cégtől, amely több szerződéssel és ügyfél-elkötelezettséggel rendelkezik.
Tekintse át a Power Apps és a Power Automate legfontosabb frissítéseit, valamint azok előnyeit és következményeit a Microsoft Power Platform számára.
Fedezzen fel néhány gyakori SQL-függvényt, amelyeket használhatunk, például a karakterláncot, a dátumot és néhány speciális függvényt az adatok feldolgozásához vagy manipulálásához.
Ebből az oktatóanyagból megtudhatja, hogyan hozhatja létre a tökéletes LuckyTemplates sablont, amely az Ön igényeinek és preferenciáinak megfelelően van konfigurálva.
Ebben a blogban bemutatjuk, hogyan lehet a mezőparamétereket kis többszörösekkel rétegezni, hogy hihetetlenül hasznos betekintést és látványelemeket hozzon létre.
Ebből a blogból megtudhatja, hogyan használhatja a LuckyTemplates rangsorolási és egyéni csoportosítási funkcióit a mintaadatok szegmentálására és kritériumok szerinti rangsorolására.
Ebben az oktatóanyagban egy konkrét technikát fogok bemutatni, hogyan jelenítheti meg a kumulatív összeget csak egy adott dátumig a LuckyTemplates vizualizációjában.
Ismerje meg, hogyan hozhat létre és testreszabhat Bullet diagramokat a LuckyTemplates alkalmazásban, amelyeket főként a teljesítmény mérésére használnak a célhoz vagy az előző évekhez képest.