Pandas Spickzettel für Data Science in Python
⚡ Intelligente Zusammenfassung
Pandas-Kurzübersichten fassen die am häufigsten verwendeten Befehle der Bibliothek auf einer Seite zusammen. Diese Referenz gruppiert sie nach Aufgaben: Installation, Erstellung von Series und DataFrames, Import von Dateien, Auswahl von Zeilen, Datenbereinigung, Anwendung von Funktionen und Export von Ergebnissen.
Was ist ein Pandas-Spickzettel?
Die Pandas-Bibliothek enthält Hunderte von Funktionen, doch nur ein kleiner Teil davon kommt im Arbeitsalltag zum Einsatz. Pandas-Spickzettel ist eine einseitige Referenz, die diese Befehle auflistet, gruppiert nach der Aufgabe, die sie ausführen.
Es behandelt die Strukturen von Series und DataFrames, den Import und Export von Dateien, die Auswahl und Sortierung von Daten, die Bereinigung von Werten und die Anwendung von Funktionen. Jeder Abschnitt enthält eine kurze Erklärung mit ausführbarem Code, sodass die Seite auch als Auffrischung Ihres Wissens dient. Datenanalysefähigkeiten.
👉 Laden Sie hier das PDF des Spickzettels herunter
Wie man Pandas installiert und importiert
Pandas wird mit zwei Befehlen eingerichtet, die beide in einem Terminal oder einer Anwendung ausgeführt werden. Jupyter Notizbuch Zelle.
Schritt 1) Pandas installieren
Führen Sie dies einmal pro Umgebung aus; stellen Sie in einer Notebook-Zelle ein Ausrufezeichen davor.
pip install pandas
Schritt 2) Pandas importieren
Importieren Sie das Paket unter dem Alias pd, was in jedem der hier aufgeführten Beispiele vorausgesetzt wird.
import pandas as pd
Sie können nun Pandas-Funktionen aufrufen, um Daten zu bearbeiten, zu analysieren und zu bereinigen. Die folgenden Abschnitte listen diese Funktionen in der Reihenfolge auf, in der Sie sie üblicherweise verwenden.
Pandas-Datenstrukturen
Pandas verfügt über zwei Datenstrukturen. Modellreihe und DatenrahmenBeide sind beschriftete Arrays und können beliebige Datentypen aufnehmen. Der einzige Unterschied liegt in der Dimensionalität: Eine Series ist ein eindimensionales Array, ein DataFrame hingegen ein zweidimensionales Array, das aus Datentypen aufgebaut ist. NumPy darunter liegende Arrays.
| Funktion | Modellreihe | Datenrahmen |
|---|---|---|
| Abmessungen | Eindimensional | Zweidimensional |
| Enthält | Eine einzelne beschriftete Spalte | Viele Spalten, gemischte Datentypen |
| Bauherr | pd.Series() | pd.DataFrame() |
1. Serie
Es handelt sich um ein eindimensionales, beschriftetes Array. Es kann beliebige Datentypen aufnehmen. None wird zu einem fehlenden Wert.
s = pd.Series([2, -4, 6, 3, None], index=['A', 'B', 'C', 'D', 'E'])
2. Datenrahmen
Es handelt sich um ein zweidimensionales, beschriftetes Array. Es kann beliebige Datentypen und Spalten unterschiedlicher Größe aufnehmen.
data = {'RollNo' : [101, 102, 75, 99],
'Name' : ['Mithlesh', 'Ram', 'Rudra', 'Mithlesh'],
'Course' : ['Nodejs', None, 'Nodejs', 'JavaScript']
}
df = pd.DataFrame(data, columns=['RollNo', 'Name', 'Course'])
df.head()
Die untenstehende ausdruckbare Kurzanleitung fasst dieselben Befehle auf einer Seite zusammen.
Daten importieren
Pandas kann viele Dateitypen direkt in einen DataFrame einlesen. Jeder der folgenden Reader gibt einen DataFrame zurück. read_csv () wird am häufigsten verwendet.
# Import a CSV file pd pd.read_csv(filename) # Import a TSV file pd.read_table(filename) # Import a Excel file pd pd.read_excel(filename) # Import a SQL table/database pd.read_sql(query, connection_object) # Import a JSON file pd.read_json(json_string) # Import a HTML file pd.read_html(url) # From clipboard to read_table() pd.read_clipboard() # From dict pd.DataFrame(dict)
Auswahl
Sie können Elemente anhand ihrer Position oder ihrer Indexbezeichnung auswählen. Die gleiche Syntax mit eckigen Klammern wählt Zeilen, Spalten und Abschnitte aus beiden Strukturen aus.
1. Serie
# Accessing one element from Series s['D'] # Accessing all elements between two given indices s['A':'C'] # Accessing all elements from starting till given index s[:'C'] # Accessing all elements from given index till end s['B':]
2. Datenrahmen
# Accessing one column df df['Name'] # Accessing rows from after given row df[1:] # Accessing till before given row df[:1] # Accessing rows between two given rows df[1:2]
Auswahl durch boolesche Indizierung und Einstellung
Arbeiten jederzeit weiterbearbeiten können. Jede Präsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen, iloc und iat für ganzzahlige Positionen und loc und at für Etiketten.
1. Nach Position
df.iloc[0, 1] df.iat[0, 1]
2. Nach Etikett
df.loc[[0], ['Name']]
3. Nach Beschriftung/Position
df.loc[2] # Both are same
df.iloc[2]
4. Boolesche Indizierung
Eine boolesche Maske behält nur Zeilen bei, in denen die Bedingung wahr ist. Das zweite Beispiel fügt den NOT-Operator hinzu. ~Es werden also auch Werte zurückgegeben, die nicht größer als 1 sind.
# Series s where value is > 1 s[(s > 0)] # Series s where value is <-2 or >1 s[(s < -2) | ~(s > 1)] # Use filter to adjust DataFrame df[df['RollNo']>100] # Set index a of Series s to 6 s['D'] = 10 s.head()
Datenreinigung
Für Python Mithilfe des Spickzettels zur Datenbereinigung können Sie die folgenden Vorgänge durchführen:
- Spalten mithilfe der
rename()Methode. - Werte mithilfe der
at[]oriat[]Methode zum Zugriff auf und zur Änderung bestimmter Elemente. - Erstellen Sie eine Kopie einer Series oder eines DataFrames mithilfe der
copy()Methode. - Prüfen Sie mithilfe der
isnull()Methode und lassen Sie sie mit derdropna()Methode. - Prüfen Sie mithilfe der Funktion auf doppelte Werte.
duplicated()Methode. Lassen Sie sie mit derdrop_duplicates()Methode. - Ersetzen Sie NULL-Werte mithilfe der
fillna()Methode mit einem bestimmten Wert. - Ersetzen Sie die Werte mithilfe der
replace()Methode. - Werte sortieren mit der
sort_values()Methode. - Rangwerte unter Verwendung der
rank()Methode.
# Renaming columns df.columns = ['a','b','c'] df.head() # Mass renaming of columns df = df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}) # Or use this edit in same DataFrame instead of in copy df.rename(columns={'RollNo': 'ID', 'Name': 'Student_Name'}, inplace=True) df.head() # Counting duplicates in a column df.duplicated(subset='Name') # Removing entire row that has duplicate in given column df.drop_duplicates(subset=['Name']) # You can choose which one keep - by default is first df.drop_duplicates(subset=['Name'], keep='last') # Checks for Null Values s.isnull() # Checks for non-Null Values - reverse of isnull() s.notnull() # Checks for Null Values df df.isnull() # Checks for non-Null Values - reverse of isnull() df.notnull() # Drops all rows that contain null values df.dropna() # Drops all columns that contain null values df.dropna(axis=1) # Replaces all null values with 'Guru99' df.fillna('Guru99') # Replaces all null values with the mean s.fillna(s.mean()) # Converts the datatype of the Series to float s.astype(float) # Replaces all values equal to 6 with 'Six' s.replace(6,'Six') # Replaces all 2 with 'Two' and 6 with 'Six' s.replace([2,6],['Two','Six']) # Drop from rows (axis=0) s.drop(['B', 'D']) # Drop from columns(axis=1) df.drop('Name', axis=1) # Sort by labels with axis df.sort_index() # Sort by values with axis df.sort_values(by='RollNo') # Ranking entries df.rank() # s1 is pointing to same Series as s s1 = s # s_copy of s, but not pointing same Series s_copy = s.copy() # df1 is pointing to same DataFrame as df df1 = s # df_copy of df, but not pointing same DataFrame df_copy = df.copy()
Beachten Sie, dass s1 = s Es wird lediglich ein zweiter Name für dasselbe Objekt erstellt, niemals eine Kopie – deshalb copy() folgt ihm.
Abrufen von Informationen
Sie können diese Operationen ausführen, um Informationen abzurufen:
- Verwenden Sie die
shapeAttribut, um die Anzahl der Zeilen und Spalten zu erhalten. - Verwenden Sie die
head()ortail()Methode, um die ersten oder letzten Zeilen als Stichprobe zu erhalten. - Verwenden Sie die
info(),describe()ordtypesMethode zur Ermittlung von Informationen über Datentyp, Anzahl, Mittelwert, Standardabweichung, Minimal- und Maximalwerte. - Verwenden Sie die
count(),min(),max(),sum(),mean()undmedian()Methoden zur Gewinnung spezifischer statistischer Informationen zu Werten. - Verwenden Sie die
loc[]Methode zum Abrufen einer Zeile. - Verwenden Sie die
groupby()Methode zur Anwendung der GROUP BY-Funktion, um ähnliche Werte in einer Spalte eines DataFrames zu gruppieren.
1. Grundinformation
# Counting all elements in Series len(s) # Counting all elements in DataFrame len(df) # Prints number of rows and columns in dataframe df.shape # Prints first 10 rows by default, if no value set df.head(10) # Prints last 10 rows by default, if no value set df.tail(10) # For counting non-Null values column-wise df.count() # For range of index df df.index # For name of attributes/columns df.columns # Index, Data Type and Memory information df.info() # Datatypes of each column df.dtypes # Summary statistics for numerical columns df.describe()
2. Zusammenfassung
# For adding all values column-wise df.sum() # For min column-wise df.min() # For max column-wise df.max() # For mean value in number column df.mean() # For median value in number column df.median() # Count non-Null values s.count() # Count non-Null values df.count() # Return Series of given column df['Name'].tolist() # Name of columns df.columns.tolist() # Creating subset df[['Name', 'Course']] # Return number of values in each group df.groupby('Name').count()
Anwenden von Funktionen
apply() wendet eine Funktion auf jeden Wert an. Ausrichtungsregeln legen dann fest, was passiert, wenn zwei Objekte nur einen Teil ihres Index gemeinsam haben.
# Define function f = lambda x: x*5 # Apply this function on given Series - For each value s.apply(f) # Apply this function on given DataFrame - For each value df.apply(f)
1. Interner Datenabgleich
# NA values for indices that don't overlap s2 = pd.Series([8, -1, 4], index=['A', 'C', 'D']) s + s2
2. Arithmetik Operationen mit Füllmethoden
# Fill values that don't overlap
s.add(s2, fill_value=0)
3. Filtern, sortieren und gruppieren nach
Diese Funktionen können zum Filtern, Sortieren und Gruppieren verwendet werden.ping Series- und DataFrame-Objekte.
# Filter rows where column is greater than 100 df[df['RollNo']>100] # Filter rows where 70 < column < 101 df[(df['RollNo'] > 70) & (df['RollNo'] < 101)] # Sorts values in ascending order s.sort_values() # Sorts values in descending order s.sort_values(ascending=False) # Sorts values by RollNo in ascending order df.sort_values('RollNo') # Sorts values by RollNo in descending order df.sort_values('RollNo', ascending=False)
Daten exportieren
Jeder der unten aufgeführten Writer spiegelt einen Reader aus dem Importbereich wider, sodass eine Datei den Hin- und Rückweg ohne zusätzliche Tools durchlaufen kann.
# Export as a CSV file df df.to_csv(filename) # Export as a Excel file df df.to_excel(filename) # Export as a SQL table df df.to_sql(table_name, connection_object) # Export as a JSON file df.to_json(filename) # Export as a HTML table df.to_html(filename) # Write to the clipboard df.to_clipboard()
Colab von Spickzettel
Jeder hier aufgeführte Befehl kann im zugehörigen Notebook ausgeführt werden: Pandas Spickzettel – Python für Data Science.ipynb.

