import pandas as pd


kunden1 = pd.DataFrame({
    'kunden_id': [1, 2],
    'name': ['Anna', 'Ben'],
    'stadt': ['Berlin', 'München']
})

kunden2 = pd.DataFrame({
    'kunden_id': [3, 4],
    'name': ['Clara', 'David'],
    'stadt': ['Hamburg', 'Köln']
})

print(kunden1)
print(kunden2)

# zeilen an ein dataframe anhängen
kunden = pd.concat((kunden1, kunden2))  # axis=0
print(kunden)

bestellungen = pd.DataFrame({
    'bestell_id': [101, 102, 103, 104],
    'kunden_id': [1, 2, 1, 5],
    'produkt': ['Laptop', 'Maus', 'Tastatur', 'Monitor'],
    'preis': [800, 25, 50, 300]
})

# kunden mit bestellungen die auch registriert sind
kunden_best = pd.merge(kunden, bestellungen,
                       on="kunden_id",
                       how="inner") # kuden_id muss in beiden dataframes existieren
print(kunden_best)

# alle existierenden kunden auf bestellungen mergen will
alle_kunden_best = pd.merge(
    kunden, bestellungen,
    on="kunden_id",
    how="left"
)
print(alle_kunden_best)

alle_best_kunden = pd.merge(
    kunden, bestellungen,
    on="kunden_id",
    how="right"
)
print(alle_best_kunden)

# alles mit allem mergen
alles = pd.merge(
    kunden, bestellungen,
    on="kunden_id",
    how="outer"
)
print(alles)



