Pandas Cheat Sheet
Gedetailleerde gids voor het gebruik van de Pandas-bibliotheek.
Pandas installeren
| Commando | Beschrijving |
|---|---|
conda install pandas |
De beste manier om pandas te verkrijgen is via conda |
python3 -m pip install --upgrade pandas |
Via PyPI |
pip install pandas |
Standaard pip-installatie |
Belangrijke afkortingen en pakketimports
| Afkorting | Beschrijving |
|---|---|
df |
Elk Pandas DataFrame-object |
s |
Elk Pandas Series-object |
Importmethoden
| Commando | Beschrijving |
|---|---|
import pandas as pd |
Importeer pandas met de alias pd |
import numpy as np |
Importeer numpy met de alias np |
Gegevensselectie
| Commando | Beschrijving |
|---|---|
df[col] |
Retourneert een kolom als een Series op basis van de kolomnaam |
df[[col1, col2]] |
Retourneert meerdere kolommen als een DataFrame |
s.iloc[0] |
Selecteer gegevens op positie |
s.loc['index_one'] |
Selecteer gegevens op index |
df.iloc[0,:] |
Retourneert de eerste rij |
df.iloc[0,0] |
Retourneert het eerste element van de eerste kolom |
Gegevens opschonen
| Commando | Beschrijving |
|---|---|
df.columns = ['a','b','c'] |
Kolommen hernoemen |
pd.isnull() |
Controleer op null-waarden in een DataFrame; retourneert een Boolean-array |
pd.notnull() |
Controleer op niet-null-waarden in een DataFrame; retourneert een Boolean-array |
df.dropna() |
Verwijder alle rijen die null-waarden bevatten |
df.dropna(axis=1) |
Verwijder alle kolommen die null-waarden bevatten |
df.dropna(axis=1, thresh=n) |
Verwijder alle rijen met minder dan n niet-null-waarden |
df.fillna(x) |
Vervang alle null-waarden in een DataFrame door x |
s.astype(float) |
Converteer Series-gegevenstype naar float |
s.replace(1, 'one') |
Vervang alle waarden gelijk aan 1 door ‘one’ |
s.replace([1,3], ['one', 'three']) |
Vervang 1 door ‘one’ en 3 door ’three’ |
df.rename(columns=lambda x: x + 1) |
Kolomnamen in batch hernoemen |
df.rename(columns={'old_name': 'new_name'}) |
Kolomnamen selectief hernoemen |
df.set_index('column_one') |
Verander de indexkolom |
df.rename(index=lambda x: x + 1) |
Indexen in batch hernoemen |
Gegevens importeren
| Commando | Beschrijving |
|---|---|
pd.read_csv(filename) |
Importeer gegevens uit een CSV-bestand |
pd.read_table(filename) |
Importeer gegevens uit een tekstbestand met scheidingstekens |
pd.read_excel(filename) |
Importeer gegevens uit een Excel-bestand |
pd.read_sql(query, connection_object) |
Importeer gegevens uit een SQL-tabel/database |
pd.read_json(json_string) |
Importeer gegevens uit een JSON-tekenreeks |
pd.read_html(url) |
Extraheer tabellen van een URL, tekenreeks of HTML-bestand |
pd.read_clipboard() |
Haal inhoud van het klembord en geef deze door aan read_table() |
pd.DataFrame(dict) |
Importeer gegevens uit een dictionary (Keys zijn kolomnamen, Values zijn gegevens) |
Gegevens exporteren
| Commando | Beschrijving |
|---|---|
df.to_csv(filename) |
Exporteer gegevens naar een CSV-bestand |
df.to_excel(filename) |
Exporteer gegevens naar een Excel-bestand |
df.to_sql(table_name, connection_object) |
Exporteer gegevens naar een SQL-tabel |
df.to_json(filename) |
Exporteer gegevens naar een tekstbestand in JSON-indeling |
Gegevensverwerking: Filter, Sort en GroupBy
| Commando | Beschrijving |
|---|---|
df[df[col] > 0.5] |
Selecteer rijen waar de waarde in kolom ‘col’ > 0,5 is |
df.sort_values(col1) |
Sorteer gegevens op kolom col1 (standaard oplopend) |
df.sort_values(col2, ascending=False) |
Sorteer gegevens op kolom col2 in aflopende volgorde |
df.sort_values([col1, col2], ascending=[True, False]) |
Sorteer op col1 oplopend, daarna op col2 aflopend |
df.groupby(col) |
Retourneert een GroupBy-object gegroepeerd op kolom ‘col’ |
df.groupby([col1, col2]) |
Retourneert een GroupBy-object gegroepeerd op meerdere kolommen |
df.groupby(col1)[col2].mean() |
Retourneert het gemiddelde van kolom col2 voor elke groep in col1 |
df.pivot_table(index=col1, values=[col2, col3], aggfunc=max) |
Maak een draaitabel gegroepeerd op col1, waarbij de maximale waarde voor col2 en col3 wordt berekend |
df.groupby(col1).agg(np.mean) |
Retourneert het gemiddelde voor alle kolommen gegroepeerd op col1 |
df.apply(np.mean) |
Pas de functie np.mean toe op elke kolom |
df.apply(np.max, axis=1) |
Pas de functie np.max toe op elke rij |
Testobjecten maken
| Commando | Beschrijving |
|---|---|
pd.DataFrame(np.random.rand(20,5)) |
Maak een DataFrame met 20 rijen en 5 kolommen van willekeurige getallen |
pd.Series(my_list) |
Maak een Series van een iterabel object my_list |
df.index = pd.date_range('1900/1/30', periods=df.shape[0]) |
Voeg een datumindex toe |
Gegevens bekijken en inspecteren
| Commando | Beschrijving |
|---|---|
df.head(n) |
Bekijk de eerste n rijen van een DataFrame |
df.tail(n) |
Bekijk de laatste n rijen van een DataFrame |
df.shape |
Bekijk het aantal rijen en kolommen |
df.info() |
Bekijk index, gegevenstypen en geheugeninformatie |
df.describe() |
Bekijk overzichtsstatistieken voor numerieke kolommen |
s.value_counts(dropna=False) |
Bekijk unieke waarden en tellingen voor een Series |
df.apply(pd.Series.value_counts) |
Bekijk unieke waarden en tellingen voor elke kolom in een DataFrame |
Gegevens samenvoegen
| Commando | Beschrijving |
|---|---|
df1.append(df2) |
Voeg rijen van df2 toe aan het einde van df1 |
pd.concat([df1, df2], axis=1) |
Voeg kolommen van df2 toe aan het einde van df1 |
df1.join(df2, on=col1, how='inner') |
SQL-stijl join tussen df1- en df2-kolommen |
Gegevensstatistieken
| Commando | Beschrijving |
|---|---|
df.describe() |
Bekijk overzichtsstatistieken voor numerieke kolommen |
df.mean() |
Retourneert het gemiddelde van alle kolommen |
df.corr() |
Retourneert de correlatiecoëfficiënt tussen kolommen |
df.count() |
Retourneert het aantal niet-null-waarden in elke kolom |
df.max() |
Retourneert de maximumwaarde van elke kolom |
df.min() |
Retourneert de minimumwaarde van elke kolom |
df.median() |
Retourneert de mediaan van elke kolom |
df.std() |
Retourneert de standaarddeviatie van elke kolom |