Pandas Cheat Sheet
Λεπτομερής οδηγός για τη χρήση της βιβλιοθήκης Pandas.
Εγκατάσταση Pandas
| Εντολή | Περιγραφή |
|---|---|
conda install pandas |
Ο καλύτερος τρόπος για να αποκτήσετε το pandas είναι μέσω του conda |
python3 -m pip install --upgrade pandas |
Μέσω PyPI |
pip install pandas |
Τυπική εγκατάσταση pip |
Βασικές συντομογραφίες και εισαγωγή πακέτων
| Συντομογραφία | Περιγραφή |
|---|---|
df |
Οποιοδήποτε αντικείμενο DataFrame των Pandas |
s |
Οποιοδήποτε αντικείμενο Series των Pandas |
Μέθοδοι εισαγωγής
| Εντολή | Περιγραφή |
|---|---|
import pandas as pd |
Εισαγωγή των pandas με το ψευδώνυμο pd |
import numpy as np |
Εισαγωγή της numpy με το ψευδώνυμο np |
Επιλογή δεδομένων
| Εντολή | Περιγραφή |
|---|---|
df[col] |
Επιστρέφει μια στήλη ως Series με βάση το όνομα της στήλης |
df[[col1, col2]] |
Επιστρέφει πολλές στήλες ως DataFrame |
s.iloc[0] |
Επιλογή δεδομένων κατά θέση |
s.loc['index_one'] |
Επιλογή δεδομένων κατά ευρετήριο (index) |
df.iloc[0,:] |
Επιστρέφει την πρώτη σειρά |
df.iloc[0,0] |
Επιστρέφει το πρώτο στοιχείο της πρώτης στήλης |
Καθαρισμός δεδομένων
| Εντολή | Περιγραφή |
|---|---|
df.columns = ['a','b','c'] |
Μετονομασία στηλών |
pd.isnull() |
Έλεγχος για κενές τιμές (null) σε ένα DataFrame. Επιστρέφει έναν πίνακα Boolean |
pd.notnull() |
Έλεγχος για μη κενές τιμές σε ένα DataFrame. Επιστρέφει έναν πίνακα Boolean |
df.dropna() |
Διαγραφή όλων των σειρών που περιέχουν κενές τιμές |
df.dropna(axis=1) |
Διαγραφή όλων των στηλών που περιέχουν κενές τιμές |
df.dropna(axis=1, thresh=n) |
Διαγραφή όλων των σειρών με λιγότερα από n μη κενά στοιχεία |
df.fillna(x) |
Αντικατάσταση όλων των κενών τιμών σε ένα DataFrame με το x |
s.astype(float) |
Μετατροπή του τύπου δεδομένων της Series σε float |
s.replace(1, 'one') |
Αντικατάσταση όλων των τιμών που είναι ίσες με 1 με την τιμή ‘one’ |
s.replace([1,3], ['one', 'three']) |
Αντικατάσταση του 1 με ‘one’ και του 3 με ’three’ |
df.rename(columns=lambda x: x + 1) |
Μαζική μετονομασία στηλών |
df.rename(columns={'old_name': 'new_name'}) |
Επιλεκτική μετονομασία στηλών |
df.set_index('column_one') |
Αλλαγή της στήλης ευρετηρίου (index) |
df.rename(index=lambda x: x + 1) |
Μαζική μετονομασία ευρετηρίων |
Εισαγωγή δεδομένων
| Εντολή | Περιγραφή |
|---|---|
pd.read_csv(filename) |
Εισαγωγή δεδομένων από αρχείο CSV |
pd.read_table(filename) |
Εισαγωγή δεδομένων από αρχείο κειμένου με οριοθέτες |
pd.read_excel(filename) |
Εισαγωγή δεδομένων από αρχείο Excel |
pd.read_sql(query, connection_object) |
Εισαγωγή δεδομένων από πίνακα/βάση δεδομένων SQL |
pd.read_json(json_string) |
Εισαγωγή δεδομένων από συμβολοσειρά JSON |
pd.read_html(url) |
Εξαγωγή πινάκων από URL, συμβολοσειρά ή αρχείο HTML |
pd.read_clipboard() |
Λήψη περιεχομένου από το πρόχειρο και μεταβίβαση στο read_table() |
pd.DataFrame(dict) |
Εισαγωγή δεδομένων από αντικείμενο λεξικού (τα κλειδιά είναι ονόματα στηλών, οι τιμές είναι δεδομένα) |
Εξαγωγή δεδομένων
| Εντολή | Περιγραφή |
|---|---|
df.to_csv(filename) |
Εξαγωγή δεδομένων σε αρχείο CSV |
df.to_excel(filename) |
Εξαγωγή δεδομένων σε αρχείο Excel |
df.to_sql(table_name, connection_object) |
Εξαγωγή δεδομένων σε πίνακα SQL |
df.to_json(filename) |
Εξαγωγή δεδομένων σε αρχείο κειμένου σε μορφή JSON |
Επεξεργασία δεδομένων: Φίλτρο, Ταξινόμηση και GroupBy
| Εντολή | Περιγραφή |
|---|---|
df[df[col] > 0.5] |
Επιλογή σειρών όπου η τιμή στη στήλη ‘col’ είναι > 0,5 |
df.sort_values(col1) |
Ταξινόμηση δεδομένων κατά τη στήλη col1 (αύξουσα από προεπιλογή) |
df.sort_values(col2, ascending=False) |
Ταξινόμηση δεδομένων κατά τη στήλη col2 σε φθίνουσα σειρά |
df.sort_values([col1, col2], ascending=[True, False]) |
Ταξινόμηση κατά col1 αύξουσα, στη συνέχεια κατά col2 φθίνουσα |
df.groupby(col) |
Επιστρέφει ένα αντικείμενο GroupBy ομαδοποιημένο κατά τη στήλη ‘col’ |
df.groupby([col1, col2]) |
Επιστρέφει ένα αντικείμενο GroupBy ομαδοποιημένο κατά περισσότερες στήλες |
df.groupby(col1)[col2].mean() |
Επιστρέφει τον μέσο όρο της στήλης col2 για κάθε ομάδα στην col1 |
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) |
Δημιουργία συγκεντρωτικού πίνακα ομαδοποιημένου κατά col1, υπολογίζοντας το μέγιστο για col2 και col3 |
df.groupby(col1).agg(np.mean) |
Επιστρέφει τον μέσο όρο για όλες τις στήλες ομαδοποιημένες κατά col1 |
df.apply(np.mean) |
Εφαρμογή της συνάρτησης np.mean σε κάθε στήλη |
df.apply(np.max, axis=1) |
Εφαρμογή της συνάρτησης np.max σε κάθε σειρά |
Δημιουργία αντικειμένων δοκιμής
| Εντολή | Περιγραφή |
|---|---|
pd.DataFrame(np.random.rand(20,5)) |
Δημιουργία ενός DataFrame με 20 σειρές και 5 στήλες από τυχαίους αριθμούς |
pd.Series(my_list) |
Δημιουργία μιας Series από ένα επαναλήψιμο αντικείμενο (iterable) my_list |
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) |
Προσθήκη ευρετηρίου ημερομηνίας |
Προβολή και έλεγχος δεδομένων
| Εντολή | Περιγραφή |
|---|---|
df.head(n) |
Προβολή των πρώτων n σειρών ενός DataFrame |
df.tail(n) |
Προβολή των τελευταίων n σειρών ενός DataFrame |
df.shape |
Προβολή του αριθμού των σειρών και των στηλών |
df.info() |
Προβολή ευρετηρίου, τύπων δεδομένων και πληροφοριών μνήμης |
df.describe() |
Προβολή περιληπτικών στατιστικών για αριθμητικές στήλες |
s.value_counts(dropna=False) |
Προβολή μοναδικών τιμών και μετρήσεων για μια Series |
df.apply(pd.Series.value_counts) |
Προβολή μοναδικών τιμών και μετρήσεων για κάθε στήλη σε ένα DataFrame |
Συγχώνευση δεδομένων
| Εντολή | Περιγραφή |
|---|---|
df1.append(df2) |
Προσάρτηση των σειρών από το df2 στο τέλος του df1 |
pd.concat([df1, df2], axis=1) |
Προσάρτηση των στηλών από το df2 στο τέλος του df1 |
df1.join(df2, on=col1, how='inner') |
Σύνδεση (Join) τύπου SQL μεταξύ των στηλών των df1 και df2 |
Στατιστικά δεδομένων
| Εντολή | Περιγραφή |
|---|---|
df.describe() |
Προβολή περιληπτικών στατιστικών για αριθμητικές στήλες |
df.mean() |
Επιστρέφει τον μέσο όρο όλων των στηλών |
df.corr() |
Επιστρέφει τον συντελεστή συσχέτισης μεταξύ των στηλών |
df.count() |
Επιστρέφει τον αριθμό των μη κενών τιμών σε κάθε στήλη |
df.max() |
Επιστρέφει τη μέγιστη τιμή κάθε στήλης |
df.min() |
Επιστρέφει την ελάχιστη τιμή κάθε στήλης |
df.median() |
Επιστρέφει τη διάμεσο κάθε στήλης |
df.std() |
Επιστρέφει την τυπική απόκλιση κάθε στήλης |