Skip to content

Foaie de referință Pandas

Ghid detaliat pentru utilizarea bibliotecii Pandas.

Instalarea Pandas

Comandă Descriere
conda install pandas Cea mai bună modalitate de a obține pandas este prin conda
python3 -m pip install --upgrade pandas Prin PyPI
pip install pandas Instalare pip standard

Abrevieri cheie și importul pachetelor

Abreviere Descriere
df Orice obiect Pandas DataFrame
s Orice obiect Pandas Series

Metode de import

Comandă Descriere
import pandas as pd Importă pandas cu aliasul pd
import numpy as np Importă numpy cu aliasul np

Selecția datelor

Comandă Descriere
df[col] Returnează o coloană sub formă de Series pe baza numelui coloanei
df[[col1, col2]] Returnează mai multe coloane sub formă de DataFrame
s.iloc[0] Selectează datele după poziție
s.loc['index_one'] Selectează datele după index
df.iloc[0,:] Returnează prima linie
df.iloc[0,0] Returnează primul element al primei coloane

Curățarea datelor

Comandă Descriere
df.columns = ['a','b','c'] Redenumirea coloanelor
pd.isnull() Verifică valorile nule într-un DataFrame; returnează un array Boolean
pd.notnull() Verifică valorile non-nule într-un DataFrame; returnează un array Boolean
df.dropna() Șterge toate rândurile care conțin valori nule
df.dropna(axis=1) Șterge toate coloanele care conțin valori nule
df.dropna(axis=1, thresh=n) Șterge toate rândurile cu mai puțin de n valori non-nule
df.fillna(x) Înlocuiește toate valorile nule într-un DataFrame cu x
s.astype(float) Convertește tipul de date al Series în float
s.replace(1, 'one') Înlocuiește toate valorile egale cu 1 cu ‘one’
s.replace([1,3], ['one', 'three']) Înlocuiește 1 cu ‘one’ și 3 cu ’three’
df.rename(columns=lambda x: x + 1) Redenumirea coloanelor în masă
df.rename(columns={'old_name': 'new_name'}) Redenumirea selectivă a coloanelor
df.set_index('column_one') Schimbarea coloanei index
df.rename(index=lambda x: x + 1) Redenumirea indicilor în masă

Importarea datelor

Comandă Descriere
pd.read_csv(filename) Importă date dintr-un fișier CSV
pd.read_table(filename) Importă date dintr-un fișier text cu delimitatori
pd.read_excel(filename) Importă date dintr-un fișier Excel
pd.read_sql(query, connection_object) Importă date dintr-un tabel/bază de date SQL
pd.read_json(json_string) Importă date dintr-un șir JSON
pd.read_html(url) Extrage tabele dintr-un URL, șir sau fișier HTML
pd.read_clipboard() Prelucrează conținutul din clipboard și îl transmite către read_table()
pd.DataFrame(dict) Importă date dintr-un obiect dicționar (Keys sunt nume de coloane, Values sunt date)

Exportarea datelor

Comandă Descriere
df.to_csv(filename) Exportă datele către un fișier CSV
df.to_excel(filename) Exportă datele către un fișier Excel
df.to_sql(table_name, connection_object) Exportă datele către un tabel SQL
df.to_json(filename) Exportă datele către un fișier text în format JSON

Procesarea datelor: Filter, Sort și GroupBy

Comandă Descriere
df[df[col] > 0.5] Selectează rândurile unde valoarea din coloana ‘col’ este > 0,5
df.sort_values(col1) Sortează datele după coloana col1 (implicit ascendent)
df.sort_values(col2, ascending=False) Sortează datele după coloana col2 în ordine descendentă
df.sort_values([col1, col2], ascending=[True, False]) Sortează după col1 ascendent, apoi col2 descendent
df.groupby(col) Returnează un obiect GroupBy grupat după coloana ‘col’
df.groupby([col1, col2]) Returnează un obiect GroupBy grupat după mai multe coloane
df.groupby(col1)[col2].mean() Returnează media coloanei col2 pentru fiecare grup din col1
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) Creează un tabel pivot grupat după col1, calculând maximul pentru col2 și col3
df.groupby(col1).agg(np.mean) Returnează media pentru toate coloanele grupate după col1
df.apply(np.mean) Aplică funcția np.mean pe fiecare coloană
df.apply(np.max, axis=1) Aplică funcția np.max pe fiecare rând

Crearea obiectelor de test

Comandă Descriere
pd.DataFrame(np.random.rand(20,5)) Creează un DataFrame cu 20 de rânduri și 5 coloane de numere aleatorii
pd.Series(my_list) Creează o Series dintr-un obiect iterabil my_list
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) Adaugă un index de dată

Vizualizarea și inspectarea datelor

Comandă Descriere
df.head(n) Vizualizează primele n rânduri ale unui DataFrame
df.tail(n) Vizualizează ultimele n rânduri ale unui DataFrame
df.shape Vizualizează numărul de rânduri și coloane
df.info() Vizualizează indexul, tipurile de date și informațiile despre memorie
df.describe() Vizualizează statistici rezumative pentru coloanele numerice
s.value_counts(dropna=False) Vizualizează valorile unice și numărul lor pentru o Series
df.apply(pd.Series.value_counts) Vizualizează valorile unice și numărul lor pentru fiecare coloană dintr-un DataFrame

Îmbinarea datelor

Comandă Descriere
df1.append(df2) Adaugă rândurile din df2 la sfârșitul df1
pd.concat([df1, df2], axis=1) Adaugă coloanele din df2 la sfârșitul df1
df1.join(df2, on=col1, how='inner') SQL-style join între coloanele df1 și df2

Statistici de date

Comandă Descriere
df.describe() Vizualizează statistici rezumative pentru coloanele numerice
df.mean() Returnează media tuturor coloanelor
df.corr() Returnează coeficientul de corelație între coloane
df.count() Returnează numărul de valori non-nule din fiecare coloană
df.max() Returnează valoarea maximă a fiecărei coloane
df.min() Returnează valoarea minimă a fiecărei coloane
df.median() Returnează mediana fiecărei coloane
df.std() Returnează deviația standard a fiecărei coloane