Top 5 funcții Pandas esențiale pentru oamenii de știință de date [2022]

Publicat: 2021-01-02

Pandas este în mod clar una dintre cele mai utilizate și îndrăgite biblioteci când vine vorba de Data Science și Data Analysis with Python. Ce îl face special? În acest tutorial, vom trece peste 5 astfel de funcții care fac din Pandas un instrument extrem de util în trusa de instrumente a unui Data Scientist.

Până la sfârșitul acestui tutorial, veți avea cunoștințe despre funcțiile de mai jos în Pandas și despre cum să le utilizați pentru aplicațiile dvs.:

  • value_counts
  • a se grupa cu
  • loc si iloc
  • unic și unic
  • Tăiați și tăiați

Cuprins

Funcții de top Pandas pentru cercetătorii de date

1. value_counts()

Funcția value_counts() a lui Pandas este utilizată pentru a afișa numărul tuturor elementelor unice în coloanele unui cadru de date.

Sfat profesionist: Pentru a demonstra, voi folosi setul de date Titanic.

Acum, pentru a găsi numărul de clase în caracteristica Embarked, putem apela funcția value_counts:

train[ 'Îmbarcat' ].value_counts()

#Ieșire:
S 644
C 168
Q 77

De asemenea, dacă aceste cifre nu au prea mult sens, le puteți vedea procentele:

train[ 'Îmbarcat' ].value_counts(normalize= True )

#Ieșire:
S 0,724409
C 0,188976
Q 0,086614

Mai mult, value_counts nu ia în considerare NaN sau valorile lipsă în mod implicit, ceea ce este foarte esențial de verificat. Pentru a face acest lucru, puteți seta parametrul dropna ca false.

train[ 'Îmbarcat' ].value_counts(dropna= False )

#Ieșire:
S 644
C 168
Q 77
NaN 2

2. grupează_după()

Cu Pandas group_by, ne putem împărți și grupa cadrul de date după anumite coloane pentru a putea vizualiza modele și detalii în date. Group_by implică 3 pași principali: împărțire, aplicare și combinare.

train.groupby( 'Sex' ).mean()

Ieșire:

După cum vedeți, am grupat cadrul de date după caracteristica „sex” și am agregat folosind mijloacele.

De asemenea, îl puteți trasa folosind vizualizarea încorporată a lui Pandas:

df.groupby( 'Sex' ).sum().plot(kind= 'bar' )

De asemenea, putem grupa folosind mai multe caracteristici pentru o împărțire ierarhică.

df.groupby([ „Sex” , „A supraviețuit” ] )[ „A supraviețuit” ].count()

Trebuie citit: Întrebări la interviu Pandas

3. loc si iloc

Indexarea în Pandas este una dintre cele mai de bază operațiuni și cea mai bună modalitate de a o face este să utilizați fie loc, fie iloc. „Loc” înseamnă locație, iar „i” înseamnă locație indexată. Cu alte cuvinte, atunci când doriți să indexați un cadru de date folosind nume sau etichete de coloane/rânduri, ați folosi loc. Și când doriți să indexați coloane sau rânduri folosind pozițiile, veți folosi funcția iloc. Să verificăm mai întâi loc .

train.loc[ 2 , „sex” ]

Operația de mai sus ne oferă elementul index al rândului 2 și al coloanei „sex”. În mod similar, dacă ați avea nevoie de toate valorile coloanei sex, ați face:

train.loc[:, 'sex' ]

De asemenea, puteți filtra mai multe coloane precum:

train.loc[:, 'sex' , 'Îmbarcat' ]

De asemenea, puteți filtra folosind condiții booleene din loc, cum ar fi:

train.loc[train.age >= 25 ]


Pentru a vizualiza numai anumite rânduri, puteți tăia cadrul de date folosind loc:

train.loc[ 100 : 200 ]

Mai mult, puteți tăia cadrul de date pe axa coloanei astfel:

train.loc[:, 'sex' : 'tarif' ]

Operația de mai sus va tăia cadrul de date din coloana „sex” la „tarifa” pentru toate rândurile.

Acum, să trecem la iloc. iloc indexează numai folosind numerele de index sau pozițiile. Puteți tăia cadre de date precum:

train.iloc[ 100 : 200 , 2 : 9 ]


Operațiunile de mai sus vor tăia rândurile de la 100 la 199 și coloanele de la 2 la 8. În mod similar, dacă doriți să împărțiți datele pe orizontală, puteți face:

train.iloc[: 300 , :]

4. unic() și nunique()

Pandas unic este folosit pentru a obține toate valorile unice din orice caracteristică. Acesta este folosit în mare parte pentru a obține categoriile în caracteristici categoriale din date. Unic arată toate valorile unice, inclusiv NaN. O tratează ca pe o valoare unică diferită. Hai să aruncăm o privire:

antrena[ 'sex' ].unic()

#Ieșire:
[ „femeie” , „mascul” ]

După cum vedem, ne oferă valorile unice în caracteristica „sex”.

În mod similar, puteți verifica și numărul de valori unice, deoarece pot exista o mulțime de valori unice în unele caracteristici.

tren[ 'sex' ].nunique()

#Ieșire:
2

Cu toate acestea, ar trebui să rețineți că nunique() nu consideră NaN ca valori unice. Dacă există NaN-uri în datele dvs., atunci ar trebui să treceți parametrul dropna ca False pentru a vă asigura că Pandas vă oferă numărătoarea, inclusiv NaN-urile.

train[ 'sex' ].nunique(dropna= False )

#Ieșire:
3

5. cut() și qcut()

Pandas cut este folosit pentru a clasifica valorile în intervale pentru a discretiza caracteristicile. Să ne scufundăm în ea. Binning înseamnă convertirea unei caracteristici numerice sau continue într-un set discret de valori, pe baza intervalelor de valori continue. Acest lucru este util atunci când doriți să vedeți tendințele în funcție de intervalul în care se încadrează punctul de date.

Să înțelegem asta cu un mic exemplu.

Să presupunem că avem note pentru 7 copii între 0-100. Acum, putem atribui notele fiecărui copil unui anumit „coș”.

df = pd.Dataframe(data= {
„Nume” : [ „Ck” , „Ron” , „Mat” , „Josh” , „Tim” , „SypherPK” , „Rouă” , „Vin” ],
„Marcă” :[ 37 , 91 , 66 , 42 , 99 , 81 , 45, 71 ]
})

df[ 'marks_bin' ] = pd.cut(df[ 'Marks' ], bins=[ 0 , 50 , 70 , 100 ], labels=[ 1 , 2 , 3 ])

Apoi putem adăuga rezultatul ca o caracteristică nouă, iar caracteristica Marks poate fi abandonată. Noul cadru de date arată cam așa:

#Ieșire:
Nume Marks marks_bin
0 Ck 37 1
1 ron 91 3
2 Mat 66 2
3 Ios 42 1
4 Tim 99 3
5 SypherPK 81 3
6 Roua 45 1
7 Vin 71 3

Deci, când spun bins = [ 0 , 50 , 70 , 100 ] , înseamnă că există 3 intervale:

0 la 50 pentru bin 1,

51 până la 70 pentru bin 2 și

71 până la 100 aparținând coșului 3.

Deci, acum caracteristica noastră nu conține notele, ci intervalul sau coșul în care se află notele pentru acel student.

Similar cu cut(), Pandas oferă și funcția frate numită qcut() . Pandas qcut preia numărul de cuantile și împarte punctele de date în fiecare bin pe baza distribuției datelor. Deci, putem schimba doar funcția de tăiere din cele de mai sus în qcut:

df[ 'marks_bin' ] = pd.qcut(df[ 'Marks' ], q= 3 , labels=[ 1 , 2 , 3 ])

În operația de mai sus, îi spunem lui Pandas să taie caracteristica în 3 părți egale și să le atribuie etichetele. Ieșirea vine ca:

Nume Marks marks_bin
0 Ck 37 1
1 ron 91 3
2 Mat 66 2
3 Ios 42 1
4 Tim 99 3
5 SypherPK 81 3
6 Roua 45 1
7 Vin 71 2

Observați cum ultima valoare s-a schimbat de la 3 la 2.

Citește și: Pandas Dataframe Astype

Inainte sa pleci

Am văzut câteva dintre cele mai utilizate funcții Pandas. Dar acestea nu sunt singurele importante și vă încurajăm să aflați mai multe despre funcțiile utilizate în principal de Pandas. Aceasta este o abordare bună și eficientă, deoarece este posibil să nu utilizați toate funcțiile pe care le are Pandas, ci doar câteva dintre ele.

Învață cursuri de știință a datelor de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

De ce este biblioteca Pandas atât de populară?

Această bibliotecă este într-adevăr destul de populară printre oamenii de știință de date și analiștii de date. Motivul pentru aceasta este suportul mare pentru un număr mare de formate de fișiere și o colecție bogată de caracteristici pentru a manipula datele extrase. Se poate integra cu ușurință cu alte biblioteci și pachete, cum ar fi NumPy.

Această bibliotecă puternică oferă diverse funcții utile pentru a manipula seturi uriașe de date într-o manieră flexibilă. Odată ce l-ați stăpânit, puteți realiza cu ușurință sarcini grozave cu câteva linii de cod.

Ce este funcția de îmbinare și de ce este utilizată?

Funcția de îmbinare este o funcție specială a cadrului de date Pandas, care este utilizată pentru a îmbina mai multe rânduri sau coloane din 2 cadre de date. Este o operațiune de unire cu memorie mare și seamănă cu bazele de date relaționale. Puteți utiliza pe = Nume coloană pentru a îmbina cadrele de date pe coloana comună.

Puteți actualiza left_on = Nume coloană sau right_on = Nume coloană pentru a alinia tabelele folosind coloanele din cadrul de date din stânga sau din dreapta ca chei.

În afară de biblioteca Pandas, care sunt celelalte biblioteci Python pentru știința datelor?

În afară de biblioteca Pandas, există o grămadă de biblioteci Python care sunt considerate a fi unele dintre cele mai bune biblioteci pentru știința datelor. Acestea includ PySpark, TensorFlow, Matplotlib, Scikit Learn, SciPy și multe altele. Fiecare dintre ele este utilizat pe scară largă pentru caracteristicile și funcțiile sale unice și uimitoare.

Fiecare bibliotecă are propria ei semnificație, așa cum SciKit Learn este folosit mai des atunci când trebuie să vă ocupați de date statistice. Pe lângă analiza datelor, puteți crea și tablouri de bord și rapoarte vizuale folosind funcțiile oferite de aceste biblioteci uimitoare.