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') |
|
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 |
|
|
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: |
|
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('-',
'_') |
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()) |