Data Camp - Introduction


PYTHON GRUNDLAGEN                                                                               

# Rechnen
2 + 3
5 - 2
4 * 3
10 / 2
2 ** 3

# Variable
x = 5
print(x)

# Typ prüfen
type(x)


DATENTYPEN

int
float
str
bool

x = 5
y = 3.14
z = "Hallo"
b = True


LISTEN

# Liste erstellen
fam = [1.73, 1.68, 1.71]

# Zugriff
fam[0]
fam[-1]

# Slicing
fam[0:2]
fam[:2]
fam[1:]

# Element ändern
fam[1] = 1.75

# Hinzufügen
fam + [1.80]

# Löschen
del fam[1]

# Kopieren (wichtig!)
y = fam[:]


FUNCTIONS - METHODS - PACKAGES

# ----------------
# BUILT-IN FUNCTIONS
# ----------------

fam = [1.73, 1.68, 1.71, 1.89]

max(fam)          # größtes Element
len(fam)          # Länge
type(fam)         # Datentyp
round(1.68, 1)    # runden mit Nachkommastellen
round(1.68)       # runden ohne ndigits
help(round)       # Hilfe anzeigen

sorted(fam)                 # sortiert aufsteigend (neue     Liste)
sorted(fam, reverse=True)   # sortiert absteigend


# ----------------
# METHODS (gehören zu Objekten)
# Struktur: objekt.methode()
# ----------------

# LIST METHODS

fam.index(1.71)      # Position eines Elements
fam.count(1.73)      # Wie oft kommt Wert vor?
fam.append(1.80)     # Element anhängen
fam.remove(1.68)     # bestimmtes Element löschen
fam.reverse()        # Reihenfolge umdrehen
fam.sort()           # Liste sortieren (verändert Liste)

# STRING METHODS

name = "liz"

name.upper()               # alles groß
name.lower()               # alles klein
name.capitalize()          # erster Buchstabe groß
name.title()               # jedes Wort groß
name.replace("z", "sa")    # ersetzen
name.index("z")            # Position im String
name.count("z")            # wie oft kommt Zeichen vor?

# ----------------
# PACKAGES
# ----------------

# Standard Import
import numpy

numpy.array([1, 2, 3])

# Import mit Abkürzung (Best Practice)
import numpy as np

np.array([1, 2, 3])

# Einzelne Funktion importieren
from numpy import array

array([1, 2, 3])

# Funktion aus Subpackage importieren
from package.subpackage import function

# Funktion mit Alias importieren
from package.subpackage import function as alias


NumPy

import numpy as np


# -----------------------------------------
# ARRAY ERSTELLEN
# -----------------------------------------

height = np.array([1.73, 1.68, 1.71, 1.89])
weight = np.array([65.4, 59.2, 63.6, 88.4])

type(height)                     # numpy.ndarray


# -----------------------------------------
# RECHNEN (elementweise!)
# -----------------------------------------

bmi = weight / height ** 2

height + height                  # elementweise Addition
height * 2                       # Skalarmultiplikation


# -----------------------------------------
# LIST vs NUMPY (Unterschied!)
# -----------------------------------------

python_list = [1, 2, 3]
numpy_array = np.array([1, 2, 3])

python_list + python_list        # [1,2,3,1,2,3]
numpy_array + numpy_array        # array([2,4,6])


# -----------------------------------------
# SUBSETTING (1D)
# -----------------------------------------

bmi[1]                           # einzelnes Element
bmi > 23                         # Boolean Array
bmi[bmi > 23]                    # Filtern


# -----------------------------------------
# 2D ARRAYS
# -----------------------------------------

np_2d = np.array([ [1.73, 1.68, 1.71],
                   [65.4, 59.2, 63.6] ])

np_2d.shape                  # (Zeilen, Spalten)

np_2d[0]                     # erste Zeile
np_2d[0, 2]                  # Element (Zeile 0, Spalte 2)
np_2d[:, 1:3]                # alle Zeilen, Spalten 1-2
np_2d[1, :]                  # zweite Zeile


# -----------------------------------------
# STATISTIK (SEHR WICHTIG)
# -----------------------------------------

np.mean(height)
np.median(height)
np.std(height)
np.corrcoef(height, weight)


# -----------------------------------------
# ZUFALLSDATEN
# -----------------------------------------

height = np.round(np.random.normal(1.75, 0.20, 5000), 2)


# -----------------------------------------
# ARRAYS KOMBINIEREN
# -----------------------------------------

np.column_stack((height, weight))


# -----------------------------------------
# DATENTYP KONVERTIEREN (ARRAY)
# -----------------------------------------

arr = np.array([1.7, 1.8, 1.6])

arr.astype(int)        # alle Elemente zu int
arr.astype(float)      # zu float