Listă recapitulativă Pandas
Instalare Pandas
| 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 -i https://pypi.tuna.tsinghua.edu.cn/simple pandas | Instalare folosind mirror-ul Tsinghua (recomandat în China) |
Abrevieri cheie și importul pachetelor
| df | Orice obiect Pandas DataFrame |
| s | Orice obiect Pandas Series |
Metode de import
| import pandas as pd | Importă pandas și abreviază ca pd |
| import numpy as np | Importă numpy și abreviază ca np |
Selecția datelor
| df[col] | Returnează coloana în funcție de nume ca o Series |
| df[[col1, col2]] | Returnează mai multe coloane ca un DataFrame |
| s.iloc[0] | Selecția datelor după poziție |
| s.loc[‘index_one’] | Selecția datelor după eticheta indexului |
| df.iloc[0,:] | Returnează primul rând |
| df.iloc[0,0] | Returnează primul element al primei coloane |
Curățarea datelor
| df.columns = [‘a’,‘b’,‘c’] | Redenumirea coloanelor |
| pd.isnull() | Verifică valorile nule și returnează un tablou Boolean |
| pd.notnull() | Verifică valorile non-nule și returnează un tablou 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 care au mai puțin de n valori non-nule |
| df.fillna(x) | Înlocuiește toate valorile nule cu x |
| s.astype(float) | Schimbă tipul de date din 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) | Redenumire în masă a coloanelor |
| df.rename(columns={‘old_name’: ’new_name’}) | Redenumire selectivă a coloanelor |
| df.set_index(‘column_one’) | Schimbă coloana de index |
| df.rename(index=lambda x: x + 1) | Redenumire în masă a indexului |
Importul datelor
| pd.read_csv(filename) | Importă date dintr-un fișier CSV |
| pd.read_table(filename) | Importă date dintr-un fișier text delimitat |
| 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 de caractere în format JSON |
| pd.read_html(url) | Analizează URL, șir sau fișier HTML și extrage tabelele |
| pd.read_clipboard() | Obține conținutul din clipboard |
| pd.DataFrame(dict) | Importă dintr-un obiect dicționar (Key este numele coloanei, Value este datele) |
Exportul datelor
| df.to_csv(filename) | Exportă datele într-un fișier CSV |
| df.to_excel(filename) | Exportă datele într-un fișier Excel |
| df.to_sql(table_name, connection_object) | Exportă datele într-un tabel SQL |
| df.to_json(filename) | Exportă datele în format JSON într-un fișier text |
Procesarea datelor: Filtrare, Sortare și GroupBy
| df[df[col] > 0.5] | Selectează rândurile unde valoarea coloanei col este > 0.5 |
| df.sort_values(col1) | Sortează datele după coloana col1 (implicit crescător) |
| df.sort_values(col2, ascending=False) | Sortează datele după coloana col2 descrescător |
| df.sort_values([col1,col2], ascending=[True,False]) | Sortează după col1 crescător și apoi col2 descrescător |
| 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] | Returnează media coloanei col2 după gruparea după col1 |
| df.pivot_table(index=col1, values=[col2,col3], aggfunc=max) | Creează un tabel pivot grupând după col1 și calculând maximul lui col2 și col3 |
| df.groupby(col1).agg(np.mean) | Returnează media tuturor coloanelor grupate după col1 |
| data.apply(np.mean) | Aplică funcția np.mean fiecărei coloane din DataFrame |
| data.apply(np.max,axis=1) | Aplică funcția np.max fiecărui rând din DataFrame |
Crearea obiectelor de test
| pd.DataFrame(np.random.rand(20,5)) | Creează un obiect DataFrame de 20 rânduri și 5 coloane cu numere aleatorii |
| pd.Series(my_list) | Creează un obiect 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 verificarea datelor
| df.head(n) | Vizualizează primele n rânduri ale obiectului DataFrame |
| df.tail(n) | Vizualizează ultimele n rânduri ale obiectului DataFrame |
| df.shape | Vizualizează numărul de rânduri și coloane |
| df.info() | Vizualizează indexul, tipul de date și informațiile despre memorie |
| df.describe() | Vizualizează statistici rezumative pentru coloanele numerice |
| s.value_counts(dropna=False) | Vizualizează valori unice și numărători pentru un obiect Series |
| df.apply(pd.Series.value_counts) | Vizualizează valori unice și numărători pentru fiecare coloană din DataFrame |
Combinarea datelor
| df1.append(df2) | Adaugă rândurile din df2 la sfârșitul lui df1 |
| pd.concat([df1, df2],axis=1) | Adaugă coloanele din df2 la sfârșitul lui df1 |
| df1.join(df2,on=col1,how=‘inner’) | Efectuează un join în stil SQL între coloanele lui df1 și df2 |
Statistici
| df.describe() | Vizualizează statistici rezumative pentru coloanele de valori 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ă abaterea standard a fiecărei coloane |