Pandas Lathund (Cheat Sheet)
Detaljerad guide för att använda Pandas-biblioteket.
Installera Pandas
| Kommando | Beskrivning |
|---|---|
conda install pandas |
Det bästa sättet att skaffa pandas är via conda |
python3 -m pip install --upgrade pandas |
Via PyPI |
pip install pandas |
Standard pip-installation |
Viktiga förkortningar och paketimporter
| Förkortning | Beskrivning |
|---|---|
df |
Valfritt Pandas DataFrame-objekt |
s |
Valfritt Pandas Series-objekt |
Importmetoder
| Kommando | Beskrivning |
|---|---|
import pandas as pd |
Importera pandas med aliaset pd |
import numpy as np |
Importera numpy med aliaset np |
Dataval (Data Selection)
| Kommando | Beskrivning |
|---|---|
df[col] |
Returnerar en kolumn som en Series baserat på kolumnnamn |
df[[col1, col2]] |
Returnerar flera kolumner som en DataFrame |
s.iloc[0] |
Välj data efter position |
s.loc['index_one'] |
Välj data efter index |
df.iloc[0,:] |
Returnerar den första raden |
df.iloc[0,0] |
Returnerar det första elementet i den första kolumnen |
Datarengöring (Data Cleaning)
| Kommando | Beskrivning |
|---|---|
df.columns = ['a','b','c'] |
Byt namn på kolumner |
pd.isnull() |
Kontrollera om det finns null-värden i en DataFrame; returnerar en Boolean-array |
pd.notnull() |
Kontrollera om det finns icke-null-värden i en DataFrame; returnerar en Boolean-array |
df.dropna() |
Ta bort alla rader som innehåller null-värden |
df.dropna(axis=1) |
Ta bort alla kolumner som innehåller null-värden |
df.dropna(axis=1, thresh=n) |
Ta bort alla rader med färre än n icke-null-värden |
df.fillna(x) |
Ersätt alla null-värden i en DataFrame med x |
s.astype(float) |
Konvertera Series-datatyp till float |
s.replace(1, 'one') |
Ersätt alla värden som är lika med 1 med ‘one’ |
s.replace([1,3], ['one', 'three']) |
Ersätt 1 med ‘one’ och 3 med ’three’ |
df.rename(columns=lambda x: x + 1) |
Massändra kolumnnamn |
df.rename(columns={'old_name': 'new_name'}) |
Ändra specifika kolumnnamn |
df.set_index('column_one') |
Ändra indexkolumn |
df.rename(index=lambda x: x + 1) |
Massändra indexnamn |
Importera data
| Kommando | Beskrivning |
|---|---|
pd.read_csv(filename) |
Importera data från en CSV-fil |
pd.read_table(filename) |
Importera data från en textfil med avgränsare |
pd.read_excel(filename) |
Importera data från en Excel-fil |
pd.read_sql(query, connection_object) |
Importera data från en SQL-tabell/-databas |
pd.read_json(json_string) |
Importera data från en JSON-sträng |
pd.read_html(url) |
Extrahera tabeller från en URL, sträng eller HTML-fil |
pd.read_clipboard() |
Hämta innehåll från urklipp och skicka till read_table() |
pd.DataFrame(dict) |
Importera data från ett dictionary-objekt (Keys är kolumnnamn, Values är data) |
Exportera data
| Kommando | Beskrivning |
|---|---|
df.to_csv(filename) |
Exportera data till en CSV-fil |
df.to_excel(filename) |
Exportera data till en Excel-fil |
df.to_sql(table_name, connection_object) |
Exporteer data till en SQL-tabell |
df.to_json(filename) |
Exportera data till en textfil i JSON-format |
Databearbetning: Filter, Sort och GroupBy
| Kommando | Beskrivning |
|---|---|
df[df[col] > 0.5] |
Välj rader där värdet i kolumnen ‘col’ är > 0,5 |
df.sort_values(col1) |
Sortera data efter kolumn col1 (stigande som standard) |
df.sort_values(col2, ascending=False) |
Sortera data efter kolumn col2 i fallande ordning |
df.sort_values([col1, col2], ascending=[True, False]) |
Sortera efter col1 stigande, sedan col2 fallande |
df.groupby(col) |
Returnerar ett GroupBy-objekt grupperat efter kolumn ‘col’ |
df.groupby([col1, col2]) |
Returnerar ett GroupBy-objekt grupperat efter flera kolumner |
df.groupby(col1)[col2].mean() |
Returnerar medelvärdet för kolumn col2 för varje grupp i col1 |
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) |
Skapa en pivottabell grupperad efter col1, som beräknar max för col2 och col3 |
df.groupby(col1).agg(np.mean) |
Returnerar medelvärdet för alla kolumner grupperade efter col1 |
df.apply(np.mean) |
Tillämpa funktionen np.mean på varje kolumn |
df.apply(np.max, axis=1) |
Tillämpa funktionen np.max på varje rad |
Skapa testobjekt
| Kommando | Beskrivning |
|---|---|
pd.DataFrame(np.random.rand(20,5)) |
Skapa en DataFrame med 20 rader och 5 kolumner med slumpmässiga tal |
pd.Series(my_list) |
Skapa en Series från ett itererbart objekt my_list |
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) |
Lägg till ett datumindex |
Visa och granska data
| Kommando | Beskrivning |
|---|---|
df.head(n) |
Visa de första n raderna i en DataFrame |
df.tail(n) |
Visa de sista n raderna i en DataFrame |
df.shape |
Visa antal rader och kolumner |
df.info() |
Visa index, datatyper och minnesinformation |
df.describe() |
Visa sammanfattande statistik för numeriska kolumner |
s.value_counts(dropna=False) |
Visa unika värden och antal för en Series |
df.apply(pd.Series.value_counts) |
Visa unika värden och antal för varje kolumn i en DataFrame |
Sammanfoga data (Data Merging)
| Kommando | Beskrivning |
|---|---|
df1.append(df2) |
Lägg till rader från df2 i slutet av df1 |
pd.concat([df1, df2], axis=1) |
Lägg till kolumner från df2 i slutet av df1 |
df1.join(df2, on=col1, how='inner') |
SQL-liknande join mellan df1- och df2-kolumner |
Datastatistik
| Kommando | Beskrivning |
|---|---|
df.describe() |
Visa sammanfattande statistik för numeriska kolumner |
df.mean() |
Returnerar medelvärdet för alla kolumner |
df.corr() |
Returnerar korrelationskoefficienten mellan kolumner |
df.count() |
Returnerar antalet icke-null-värden i varje kolumn |
df.max() |
Returnerar maxvärdet för varje kolumn |
df.min() |
Returnerar minsta värdet för varje kolumn |
df.median() |
Returnerar medianen för varje kolumn |
df.std() |
Returnerar standardavvikelsen för varje kolumn |