Bibliotheken für die Exploration einlesen und einrichten

 

Installierte Versionen

pd.show_versions()

Pandas importieren

import pandas as pd

Anzahl der angezeigten Spalten

Zeige alle Spalten

Anzahl der angezeigten Reihen

Breite der Spalten

Formatieren von floats

pd.set_option('display.max_columns', 50)

pd.set_option('display.max_columns', None)

pd.set_option('display.max_row', 1000)

pd.set_option('display.max_colwidth', 50)

pd.set_option('display.float_format', lambda x: '%.3f' % x)

Numpy importieren

import numpy as np

Seed für Reproduzierbarkeit setzen

np.random.seed()

Filterwarnungen

Warnungen ignorieren

from warnings import filterwarnings

filterwarnings('ignore')

System, Pfad angeben

 

import os

os.chdir('Pfad')

 

Einlesen

 

Auswahl von Spalten einlesen

df = pd.read_csv('file.csv', usecols=['A', 'C', 'D'])

 

Range von Spalten/Reihen einlesen

df = pd.read_csv(name.csv, usecols=range(11))

df = pd.read_csv(name.csv, nrows=3)

 

Beim Einlesen den Datentyp zuweisen

df = pd.read_csv('file.csv', usecols=['A', 'C', 'D'], dtype={'D':'category'})

 

Zip einlesen

df = pd.read_csv('data.csv.zip')

df.to_csv(data.csv.zip')

 

Pfad angeben

String in raw string umwandeln

 

 

df = pd.read_csv('Pfad \ file.csv')

df = pd.read_csv(r'Pfad \ file.csv')

df = pd.read_csv(r'Pfad \\ file.csv')

df = pd.read_csv(r'Pfad / file.csv')

 

Spaltennamen ändern

names = ['name1', 'name2', …]

df = pd.read_csv('df.csv', names=names, header=0)

 

Die Reihenfolge der Spalten ändern

 

df.loc[:, ::-1]

Reihenfolge der Reihen ändern

Mit resetten des Index

df.loc[::-1]

df.loc[::-1].reset_index(drop=True)

 

Spaltennamen ändern mit Prefix/Suffix

df.add_prefix('X_')

df.add_suffix('_Y')

 

Fehlender Header

names = ['name1', 'name2', …]

df = pd.read_csv('df.csv', names=names, header=0)

 

Tabellen aus PDFs einlesen

 

https://anaconda.org/conda-forge/tabula-py

DF mit c/p (Daten im Clipboard) aus Excel kopieren

Daten in Excel markieren, str+c

df = pd.read_clipboard()

packt es automatisch ins DF

 

Daten aus mehreren Dateien einlesen

 

from glob import glob

# Verwende die glob- Funktion, um alle Dateien, die in eine Muster passen, aufzulisten

files = sorted(glob{'file.csv'}

# Lese die Dateien und verwende concat, um sie zusammenzufügen

pd.concat{(pd.read_csv(file) for file in files, ignore_index=True}

 

Ein erster Überblick über das DataFrame

 

Statistische Info, mit include=[] Spalten auswählen, nach dtypes oder Namen oder anderen Kriterien

 

df.describe()

first_quartile = df['A'].describe()['25%]

Describe für bestimmte Spalten

df[['Spalte1', ' Spalte 2', ' Spalte 3']].describe()

 

Erste fünf Reihen anzeigen

df.head()

 

Letzte fünf Reihen anzeigen

df.tail()

 

Zufälliges Sample anzeigen

df.sample(5)

 

Anzahl Reihen/Spalten im tuple

df.shape

 

Anzahl von Einzelwerten, zeige nans mit dropna=False an

Um durch cols zu iterieren, for i in df:…

ser.value_counts()

 

Memory Footprint und Datentypen

df.info()

 

Spaltennamen

df.columns

 

Ist jede Spalte nur einmal vorhanden?

for i in column_names:
  print('{} is unique: {}'.format(i, df[i].is_unique))

 

Spalte als Index deklarieren

df.set_index(Series)

 

Neuen Index erstellen

df.reset_index

 

 

Manipulieren

 

Spalte umbenennen

df = df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'})

# Umbenennen mit inplace

df.rename(columns={'oldName1': 'newName1', 'oldName2': 'newName2'}, inplace=True)

 

Alle Spalten umbenennen mit Liste

 

df_cols = []

df.columns = df_cols

Spalten und Reihen gleichzeitig ändern

df.rename(columns={},

index={},

inplace=True)

Spaltenamen ändern mit string Methode

 

df.columns = df.columns.str.replace('-', '_')

 

Datentypen im DataFrame

Den richtigen Datentyp zu verwenden (category statt object) kann den Speicherverbrauch drastisch reduzieren!

 

Datentypen im DataFrame anzeigen

df.dtypes

 

Alle vorhandenen Datentypen einfach anzeigen

df.dtypes.unique()

 

Zählen der einzelnen Datentypen

df.get_dtype_counts()

 

Datentyp einer Spalte ändern

Mehrere Spalten mit dict

df.column.astype()

df.astpye({'A': 'int', 'B': 'float'})

 

Zeige bestimmten dtype in df an

Zeige nur Spaltentitel mit Datentyp object an

df.select_dtypes('dtype')

df.select_dtypes([Liste von dtypes])

df.select_dtypes('object').columns

Bestimmte dtypes ausschließen

df.select_dtypes(exclude=['object'])

 

Wie viele Spaltes jedes dtypes gibt es?

df.dtypes.value_counts()

 

Zähle alle uniquen Werte in allen Objekt Spalten

data.select_dtypes('object').apply(pd.Series.nunique, axis= 0)

 

Datentyp beim einlesen ändern mit dict

df = pd.read_csv(name.csv, dtype={'Spalte' : float})

Verwende to_numeric, falls es mit astpye eine Fehlermeldung gibt, weil nicht alle Werte der Spalte numerisch sind.

Mit auffüllen der nans

Mit apply auf das ganze DF anwenden

 

df.series = pd.to_numeric(df.series, errors='coerce')

df.series = pd.to_numeric(df.series, errors='coerce').fillna()

df = df.apply(pd.to_numeric, errors='coerce').fillna()

Iterieren, Spaltennamen und dtpye ausgeben

print('Object Spalten: ')

for col in df:

    if df[col].dtype == 'object':

        print(col.upper())