<jupyter_start><jupyter_text>Ecommerce Verkäufe Übung - LösungIn dieser Übung werden wir unechte Verkaufsdaten von Amazon nutzen. Dieser Datensatz liegt uns in Englisch vor und heißt "Ecommerce Purchases" (dt. Ecommerce Verkäufe). Folgt dem Notebook und beantwortet die gestellten Aufgaben. Dabei ist es wichtig, dass es häufig mehrere Lösungen zum gewünschten Ergebnis gibt, jede Aufgabe aber in einer Zeile Code gelöst werden kann. Außerdem werden die Aufgaben nach und nach schwerer.Bitte seht es uns nach, wenn nicht alle Ergebnisse "realistisch" sind bzw. Sinn ergeben. Das liegt daran, dass es sich hier um unechte, ausgedachte Daten handelt. **Importiere Pandas als pd.**<jupyter_code>import pandas as pd<jupyter_output><empty_output><jupyter_text>**Lese die "Ecommerce Purchases" CSV-Datei ein und setze einen DataFrame names "ecom" darauf auf.**<jupyter_code>ecom = pd.read_csv("Ecommerce Purchases")<jupyter_output><empty_output><jupyter_text>**Schaue dir den *head* des DataFrame an.**<jupyter_code>ecom.head()<jupyter_output><empty_output><jupyter_text>**Wie viele Zeilen und Spalten gibt es?**<jupyter_code>ecom.info()<jupyter_output><class 'pandas.core.frame.DataFrame'>
RangeIndex: 10000 entries, 0 to 9999
Data columns (total 14 columns):
Address             10000 non-null object
Lot                 10000 non-null object
AM or PM            10000 non-null object
Browser Info        10000 non-null object
Company             10000 non-null object
Credit Card         10000 non-null int64
CC Exp Date         10000 non-null object
CC Security Code    10000 non-null int64
CC Provider         10000 non-null object
Email               10000 non-null object
Job                 10000 non-null object
IP Address          10000 non-null object
Language            10000 non-null object
Purchase Price      10000 non-null float64
dtypes: float64(1), int64(2), object(11)
memory usage: 1.1+ MB<jupyter_text>**Was ist der durchschnittliche (en. mean) Einkaufspreis (en. purchase price)?**<jupyter_code>ecom['Purchase Price'].mean()<jupyter_output><empty_output><jupyter_text>**Was waren der höchste und der niedrigste Einkaufspreis?**<jupyter_code>ecom['Purchase Price'].max()
ecom['Purchase Price'].min()<jupyter_output><empty_output><jupyter_text>**Wie viele Leute haben Deutsch "de" als ihre Sprache (en. language) der Wahl?**<jupyter_code>ecom[ecom['Language']=='de'].count()<jupyter_output><empty_output><jupyter_text>**Wie viele Leute tragen als Berufsbezeichnung "Lawyer" (dt. Anwalt)?**<jupyter_code>ecom[ecom['Job'] == 'Lawyer'].info()<jupyter_output><class 'pandas.core.frame.DataFrame'>
Int64Index: 30 entries, 470 to 9979
Data columns (total 14 columns):
Address             30 non-null object
Lot                 30 non-null object
AM or PM            30 non-null object
Browser Info        30 non-null object
Company             30 non-null object
Credit Card         30 non-null int64
CC Exp Date         30 non-null object
CC Security Code    30 non-null int64
CC Provider         30 non-null object
Email               30 non-null object
Job                 30 non-null object
IP Address          30 non-null object
Language            30 non-null object
Purchase Price      30 non-null float64
dtypes: float64(1), int64(2), object(11)
memory usage: 3.5+ KB<jupyter_text>**Wie viele Leute tätigten ihren Einkauf vor 12 Uhr (en. AM) und wie viele nach 12 Uhr (en. PM)?***Hinweis: Schaut euch dazu [value_counts()](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.value_counts.html) an!*<jupyter_code>ecom['AM or PM'].value_counts()<jupyter_output><empty_output><jupyter_text>**Was sind die 5 häufigsten Berufsbezeichnungen (en. job title)?**<jupyter_code>ecom['Job'].value_counts().head(5)<jupyter_output><empty_output><jupyter_text>**Jemand tätigte einen Kauf vom Lot "90 WT" aus. Wie war dessen Einkaufspreis (en. purchase price)?**<jupyter_code>ecom[ecom['Lot']=='90 WT']['Purchase Price']<jupyter_output><empty_output><jupyter_text>**Wie lautet die Emailadresse der Person mit folgender Kreditkartennummer: 4926535242672853?**<jupyter_code>ecom[ecom["Credit Card"] == 4926535242672853]['Email']<jupyter_output><empty_output><jupyter_text>**Wie viele Leute haben als Kreditkartenanbieter (en. credit card provider) *American Express* und haben einen Einkauf über $95 getätigt?**<jupyter_code>ecom[(ecom['CC Provider']=='American Express') & (ecom['Purchase Price']>95)].count()<jupyter_output><empty_output><jupyter_text>**Die Kreditkarte wie vieler Kunden läuft im Jahr 2025 ab?**<jupyter_code>sum(ecom['CC Exp Date'].apply(lambda x: x[3:]) == '25')<jupyter_output><empty_output><jupyter_text>**Was sind die populärsten Email-Anbieter (z.B. gmail.com)?**<jupyter_code>ecom['Email'].apply(lambda x: x.split('@')[1]).value_counts().head(5)<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.10963455149501661, 'fraction_numerical': 0.0436046511627907, 'mean_word_length': 4.845873786407767, 'pattern_counts': {'":': 0, '<': 61, '<?xml version=': 0, '>': 62, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '15', 'dir': 'jupyter-structured-clean-dedup', 'id': '629125', 'license': 'BSD-3-Clause', 'n_tokens_mistral': 1798, 'n_tokens_neox': 1656, 'n_words': 445, 'path': '2-Data-Analysis/3-Pandas-Exercises/4-Ecommerce Verkaeufe Uebung - Loesung.ipynb', 'repo_name': 'Klaynie/Jupyter-Test', 'size': '4816'}