Coloana cu indicele de picătură panda: explicată cu exemple

Pandas este o bibliotecă Python utilizată pe scară largă pentru manipularea și analiza datelor. O funcționalitate esențială pe care panda ți-o poate oferi este capacitatea de a modifica structura unui set de date. Mai exact, eliminarea indecșilor într-un DataFrame este o operațiune crucială atunci când lucrați cu seturi de date. Vă permite să eliminați rândurile sau coloanele nedorite din date.

Pentru a elimina un index cu panda, puteți folosi metodele .drop() și .reset_index(). Metoda .drop() vă permite să eliminați anumite rânduri sau coloane. Pe de altă parte, metoda .reset_index() vă permite să eliminați indexul și să îl resetați la RangeIndex implicit.

Coloana cu indicele de picătură panda: explicată cu exemple

În acest articol, vom discuta despre utilizarea acestor metode pentru a elimina indici în Pandas DataFrames. Vom parcurge diverse exemple pentru a demonstra cum să manipulăm eficient structura unui set de date pentru a se potrivi diferitelor nevoi analitice. Prin aceste exemple, veți obține o înțelegere mai profundă a modului în care biblioteca panda poate fi utilizată pentru manipularea datelor.

Să intrăm în ea!

Cuprins

Înțelegerea indicelui de cădere a pandailor

Înainte de a ne aprofunda în eliminarea indexului cu panda, este foarte important să înțelegeți ce este un DataFrame panda. În plus, ar trebui să fiți familiarizat cu conceptul de indici și coloane într-un cadru de date panda.

Coloana cu indicele de picătură panda: explicată cu exemple

În această secțiune, vom acoperi elementele de bază ale unui DataFrame, index și coloane Pandas. Ne vom uita apoi la un exemplu de eliminare a unui index folosind panda.

1. Ce este un Pandas Dataframe?

Pandas este o bibliotecă Python open-source care oferă instrumente de înaltă performanță de manipulare și analiză a datelor. Una dintre structurile sale cheie de date este DataFrame .

Un Pandas DataFrame este o structură de date bidimensională cu axe etichetate (rânduri și coloane). Vă puteți gândi la un DataFrame ca la o reprezentare de obiect Pythonic a unui tabel SQL sau a unei foi de calcul Excel.

Următorul este un DataFrame tipic panda:

Coloana cu indicele de picătură panda: explicată cu exemple

2. Ce sunt indecșii și coloanele?

Într-un cadru de date panda, indexul servește drept „adresă” pentru punctele de date. Acesta oferă un mijloc de a accesa și organiza datele în cadrul DataFrame. Ar putea fi fie secvența de numere întregi implicite atribuită de panda, fie un index personalizat definit de utilizator.

Coloanele sunt variabilele care găzduiesc diferite tipuri de date în DataFrame. Fiecare coloană este în esență o serie de date. Poate deține diverse tipuri de date, cum ar fi numere întregi, flotanți sau șiruri de caractere. Eticheta coloanei, denumită în mod obișnuit numele coloanei, identifică această serie de date.

Într-un Pandas DataFrame, manipularea datelor implică adesea lucrul cu etichetele de rând (indici) sau etichetele coloanelor.

Unele operațiuni comune pe care le puteți efectua cu un DataFrame cu mai mulți indici includ selectarea, redenumirea și eliminarea rândurilor sau coloanelor pe baza etichetelor acestora.

3. Cum să aruncați coloana index cu Pandas

În panda, puteți folosi metoda DataFrame reset_index() pentru a elimina și reseta indexul.

Să presupunem că avem următorul DataFrame:

Coloana cu indicele de picătură panda: explicată cu exemple

Pentru a arunca coloana index, putem folosi următorul cod:

df.reset_index(drop=True)

După ce rulați acest cod, veți obține exemplul de mai jos:

Coloana cu indicele de picătură panda: explicată cu exemple

În ieșire, puteți vedea că indexul este abandonat și înlocuit cu valorile originale ale indexului.

De asemenea, puteți utiliza metoda drop în Pandas pentru a elimina etichetele specificate din rânduri sau coloane.

Sintaxa acestei metode este:

DataFrame.drop(labels=None, *, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise')

Următorii sunt parametrii cheie ai metodei de drop :

  • labels : etichetele de eliminat. Pot fi fie rânduri, fie coloane, în funcție de parametrul axei .

  • axă : determină dacă să renunțe la rânduri ( 0 sau „index” ) sau coloane ( 1 sau „coloane” ).

  • index : O alternativă la specificarea axis=0 . Permite indicarea etichetelor de rând pentru a elimina.

  • coloane : o alternativă la specificarea axis=1 . Permite indicarea etichetelor coloanelor pentru a elimina.

  • inplace : Dacă este setată la True , operația va fi efectuată în loc, ceea ce înseamnă că DataFrame-ul original va fi modificat. Dacă False (implicit), va fi returnat un nou DataFrame cu etichetele specificate eliminate.

  • erori : controlează modul de gestionare a etichetelor lipsă. Dacă „ridicare” (implicit), va apărea o eroare când etichetele nu sunt găsite. Dacă „coerciți” , etichetele lipsă vor fi ignorate în tăcere.

Să presupunem că avem următorul DataFrame:

Coloana cu indicele de picătură panda: explicată cu exemple

Am dori să aruncăm rândul cu indexul 1. Pentru a face acest lucru folosind metoda drop, puteți scrie următorul cod, începând cu import panda:

import pandas as pd

# Drop row with index 1
df.drop(1, axis=0)

Argumentul axa=0 al funcției drop îi spune interpretului că efectuăm o operație pe rând. Al doilea argument 1 este indexul rândului. Îi spune interpretului să renunțe la rândul cu indicele 1.

După operația de mai sus, obținem următorul DataFrame:

Coloana cu indicele de picătură panda: explicată cu exemple

Acum, să presupunem că am dori să aruncăm coloana cu Age ca antet de coloană din DataFrame. Pentru a realiza acest lucru, putem scrie următorul cod:

# Drop column 'Age'
df.drop('Age', axis=1)

Argumentul axis=1 îi spune interpretului că efectuăm o operație pe coloană. Argumentul „Vârsta” îi spune interpretului să renunțe la coloana cu numele „Vârsta”.

După rularea codului de mai sus, veți obține următorul DataFrame:

Coloana cu indicele de picătură panda: explicată cu exemple

Cum să aruncați mai multe rânduri și coloane

Exemplul de mai sus demonstrează eliminarea unui singur rând sau coloană. Ce se întâmplă dacă doriți să aruncați mai multe rânduri sau coloane?

Pentru a realiza acest lucru, vom folosi același cod cu câteva modificări ușoare. În loc să folosim o singură valoare, putem oferi o listă de argumente pentru funcția de eliminare pentru a elimina mai multe rânduri și coloane simultan.

Să presupunem că vreau să renunț la primele 2 rânduri din DataFrame. Pentru a realiza acest lucru, putem folosi următorul cod:

# Dropping first 2 rows by index
df = df.drop([0, 1], axis=0)

În acest cod, îi spunem interpretului să arunce rândurile 0 și 1. Rezultatul acestui cod este prezentat mai jos:

Coloana cu indicele de picătură panda: explicată cu exemple

Puteți vedea că rândurile 0 și 1 nu mai sunt în DataFrame.

Să lăsăm și coloanele Departament și Salariu. Pentru a face acest lucru, putem folosi următorul cod:

# Dropping columns by name
df = df.drop(['Salary', 'Department'], axis=1)

În acest script Python , îi cerem interpretului să arunce coloanele cu Salariul și Departamentul ca antete de coloană. Rezultatul acestui cod este prezentat mai jos:

Coloana cu indicele de picătură panda: explicată cu exemple

Acesta este DataFrame-ul nostru final. În total, am șters două rânduri și două coloane din DataFrame folosind metoda drop.

Pentru a afla mai multe despre MultiIndex în panda, urmăriți următorul videoclip:

Cum să aruncați rânduri și coloane cu Inplace

În exemplul anterior, puteți vedea că mai întâi facem modificări la DataFrame și apoi îl salvăm ca un nou DataFrame. Cu toate acestea, aceasta nu este o modalitate eficientă de a renunța la rânduri și coloane.

O altă alternativă la eliminarea rândurilor și coloanelor este să setați argumentul inplace al funcției de eliminare la True .

Setând parametrul inplace la True , puteți modifica permanent DataFrame fără a fi nevoie să-l reatribuiți.

Acest lucru este util atunci când aveți de-a face cu DataFrame mari, deoarece poate economisi memorie evitând crearea unui nou DataFrame.

Următorul este un exemplu de eliminare a rândurilor și coloanelor cu inlocuire :

# 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)

Rezultatul codului de mai sus este prezentat mai jos:

Coloana cu indicele de picătură panda: explicată cu exemple

Aici, puteți vedea că nu creăm niciun nou DataFrame, ci facem modificări celui original.

Cum să lucrați cu indici în Pandas

În această secțiune, vom discuta cum să lucrați cu indici într-un DataFrame pandas . Vom acoperi următoarele două subsecțiuni:

  1. Setați și resetați Indexul

  2. ID și coloană index

1. Cum să setați și să resetați indexul

Un aspect important al lucrului cu panda este înțelegerea modului de a seta și a reseta coloanele de index. Un index este un identificator cheie pentru fiecare rând și există situații în care ați putea dori să-l modificați.

Setarea unui index nou

Pentru a seta un index nou, puteți folosi metoda set_index() . Sintaxa set_index este dată mai jos:

df.set_index('column_name', inplace=True)

Argumentul inplace=True aici înseamnă că facem modificări DataFrame-ului existent.

Pentru a demonstra acest lucru, vom folosi următorul DataFrame:

Coloana cu indicele de picătură panda: explicată cu exemple

Să presupunem că am dori să facem din coloana Nume indexul DataFrame-ului nostru. Pentru a realiza acest lucru, putem folosi următorul cod:

df.set_index('Name', inplace=True)

Acest script Python va face din Name indexul DataFrame-ului nostru. Rezultatul acestui cod este prezentat mai jos:

Coloana cu indicele de picătură panda: explicată cu exemple

Resetarea valorilor indexului

Pentru a reseta indexul la formatul implicit (adică, un RangeIndex de la 0 la lungimea DataFrame minus 1), puteți utiliza metoda reset_index() .

Sintaxa lui reset_index() este dată mai jos:

df.reset_index(drop=True, inplace=True)

Prin setarea drop=True , coloana index curentă va fi eliminată, în timp ce inplace=True asigură că modificările sunt aplicate direct DataFrame fără a crea una nouă.

Când aplicăm acest cod la DataFrame-ul anterior, obținem următoarea ieșire:

Coloana cu indicele de picătură panda: explicată cu exemple

Puteți vedea că Numele, care era anterior indexul nostru, este resetat la valorile implicite.

2. Operații suplimentare cu coloana index

Când importați un DataFrame dintr-un fișier CSV, de exemplu, puteți utiliza parametrul index_col pentru a specifica o coloană pe care să o utilizați ca index.

Sintaxa lui index_col este dată mai jos:

df = pd.read_csv('data.csv', index_col='column_name')

În plus, dacă doriți să exportați un DataFrame fără coloana index, puteți seta parametrul index la False.

Sintaxa pentru această metodă este dată mai jos:

df.to_csv('output.csv', index=False)

Acum că înțelegeți metoda de eliminare a indexului, să vedem cum puteți gestiona erorile atunci când utilizați funcția de eliminare în secțiunea următoare.

Cum să gestionați erorile atunci când utilizați funcția Drop în Pandas

În această secțiune, vom explora cum să gestionăm erorile și cazurile speciale atunci când folosim funcția de drop a panda pentru a elimina coloanele index dintr-un DataFrame.

Mai exact, vom discuta despre următoarele:

  1. Gestionarea KeyError

  2. Lucrul cu rânduri duplicat

1. Cum să gestionați KeyError

Când utilizați funcția de drop în Pandas, este posibil să întâlniți o KeyError dacă indexul sau coloana specificate nu se găsesc în DataFrame.

Pentru a preveni apariția acestei erori, puteți utiliza parametrul erori . Parametrul erori are două opțiuni: „ridicare” și „ignorare”. În mod implicit, este setat la „creștere”, ceea ce înseamnă că o KeyError va fi generată dacă indexul sau coloana specificate nu sunt găsite.

Cu toate acestea, îl puteți seta la „ignora” dacă doriți să suprimați eroarea și să continuați executarea codului.

Să presupunem că avem următorul DataFrame. Să încercăm să aruncăm un rând care nu există în DataFrame și să vedem ce se întâmplă:

# Attempt to drop a non-existent index, will raise KeyError
# df.drop(5, inplace=True)

Scriptul Python va da următoarea eroare:

Pentru a gestiona astfel de erori, asigurați-vă că vă referiți la rândurile care sunt prezente în setul de date.

2. Cum să lucrați cu rânduri duplicate

Când curățați datele, o sarcină importantă este să căutați duplicatele și să le eliminați.

Tratarea rândurilor duplicate într-un DataFrame poate adăuga complexitate atunci când utilizați funcția de eliminare .

Dacă doriți să eliminați rânduri pe baza valorilor indexului duplicat, puteți utiliza funcția duplicată și apoi utilizați indexarea booleană pentru a selecta numai rândurile neduplicate.

Să presupunem că avem următorul DataFrame:

Coloana cu indicele de picătură panda: explicată cu exemple

Puteți vedea că avem indecși duplicați în setul nostru de date. Pentru a elimina duplicatele, mai întâi, vom identifica valorile duplicate cu următorul cod:

# Find duplicated index values
duplicated_rows = df.index.duplicated(keep='first')

După aceasta, vom selecta doar rândurile neduplicate și le vom stoca în DataFrame anterior cu următorul cod:

# Select only non-duplicated rows
df = df[~duplicated_rows]

Rezultatul final este prezentat mai jos:

Ieșirea finală nu mai are rânduri duplicat.

Gânduri finale

Pe măsură ce vă continuați călătoria în domeniul științei datelor și al analizei, înțelegerea modului de manipulare și gestionare a datelor este o abilitate care se va dovedi cea mai importantă.

Stăpânirea operațiunilor precum eliminarea indicilor în panda este o parte cheie a acestui lucru. A ști cum să resetați sau să aruncați un index este o piatră de temelie spre curățarea, transformarea și obținerea de informații valoroase din datele dvs.

Învățând cum să eliminați indexurile, veți putea să vă remodelați DataFrame-urile mai eficient. De asemenea, veți putea crea seturi de date mai curate, care sunt mai ușor de citit și analizat. În plus, resetarea indecșilor poate fi crucială la îmbinarea sau concatenarea mai multor DataFrame, unde ar putea apărea conflicte de index.

Capacitatea de a elimina indici vă permite să aveți un control și flexibilitate mai mare asupra setului de date!

Leave a Comment

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Ce este Sinele în Python: Exemple din lumea reală

Cum să salvați și să încărcați un fișier RDS în R

Cum să salvați și să încărcați un fișier RDS în R

Veți învăța cum să salvați și să încărcați obiecte dintr-un fișier .rds în R. Acest blog va trata, de asemenea, cum să importați obiecte din R în LuckyTemplates.

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

Primele N zile lucrătoare revizuite – O soluție de limbaj de codare DAX

În acest tutorial despre limbajul de codare DAX, aflați cum să utilizați funcția GENERATE și cum să schimbați în mod dinamic titlul unei măsuri.

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Prezentați perspective utilizând tehnica vizuală dinamică cu mai multe fire în LuckyTemplates

Acest tutorial va acoperi cum să utilizați tehnica Multi Threaded Dynamic Visuals pentru a crea informații din vizualizările dinamice de date din rapoartele dvs.

Introducere la filtrarea contextului în LuckyTemplates

Introducere la filtrarea contextului în LuckyTemplates

În acest articol, voi trece prin contextul filtrului. Contextul de filtrare este unul dintre subiectele majore despre care orice utilizator LuckyTemplates ar trebui să învețe inițial.

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Cele mai bune sfaturi pentru utilizarea aplicațiilor din serviciul online LuckyTemplates

Vreau să arăt cum serviciul online LuckyTemplates Apps poate ajuta la gestionarea diferitelor rapoarte și informații generate din diverse surse.

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Analizați modificările marjei de profit ore suplimentare – Analytics cu LuckyTemplates și DAX

Aflați cum să vă calculați modificările marjei de profit folosind tehnici precum măsurarea ramificării și combinarea formulelor DAX în LuckyTemplates.

Idei de materializare pentru cache-urile de date în DAX Studio

Idei de materializare pentru cache-urile de date în DAX Studio

Acest tutorial va discuta despre ideile de materializare a cache-urilor de date și despre modul în care acestea afectează performanța DAX-ului în furnizarea de rezultate.

Raportare de afaceri folosind LuckyTemplates

Raportare de afaceri folosind LuckyTemplates

Dacă încă utilizați Excel până acum, atunci acesta este cel mai bun moment pentru a începe să utilizați LuckyTemplates pentru nevoile dvs. de raportare a afacerii.

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți

Ce este LuckyTemplates Gateway? Tot ce trebuie să știți