sq_02_python_data_science/jupyter_book/05_pandas_visu.ipynb

864 lines
162 KiB
Plaintext
Raw Permalink Normal View History

{
"cells": [
{
"cell_type": "markdown",
"id": "1a44722c-9586-4418-ad7f-8a3c964a9db8",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"# Daten visualiseren"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "a5292e13-c487-4e3a-8085-21d80469a734",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"outputs": [],
"source": [
"import pandas\n",
2023-04-11 13:49:33 +02:00
"d = pandas.read_csv('car.csv', sep='\\t', parse_dates=['Datum'])\n",
"fuel_only = d[d[\"Typ\"] == \"Benzin\"]"
]
},
{
"cell_type": "markdown",
"id": "ac401f86-f53e-470f-b80a-02a86e3e5632",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Alles auf einmal\n",
"Mittels `plot()` werden alle Zahlenspalten in einer Grafik dargestellt.\n",
"\n",
"**Hinweis:** auf https://jupyter.org/try-jupyter/lab/ wird nur dann eine Grafik angzeigt wenn man explizit `show()`aus `matplotlib.pyplot` aufruft."
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "f6af7955-e6ba-4f02-bfe0-e51f677778da",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"d.plot();\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "531b9a96-967c-4a20-89c4-8ddc2dd6e4d8",
"metadata": {},
"source": [
"Das ist in diesem Fall nicht besonders hilfreich weil jede Spalte eine andere Bedeutung hat.\n",
"Bei Messwerten, bei dem jede Spalte ein anderes Experiment ist könnte dies aber nützlich sein."
]
},
{
"cell_type": "markdown",
"id": "73365e97-2317-496c-8747-9514c3f385da",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Zwei Spalten als X-Y-Koordinaten darstellen"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "9279c8d3-eada-4cc1-a62f-00738cd22dde",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fuel_only.plot(kind=\"scatter\", x=\"km\", y=\"Preis\");\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "c50a29cb-39c3-4b3e-8e16-0c56adc09278",
"metadata": {},
"source": [
"Das sieht schon besser aus. Allerdings sind die Zahlen nicht wirklich vergleichbar. Besser wäre, den Preis / l darzustellen. Den müssen wir aber erst berechnen."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "f996d38c-c942-4f19-89ce-65ee49405419",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"outputs": [],
"source": [
"ppl = fuel_only[\"Preis\"] / fuel_only[\"Liter\"]"
]
},
{
"cell_type": "markdown",
"id": "be50aaa8-1486-47a8-9f0c-bbdae50ef717",
"metadata": {},
"source": [
"Jetzt haben wir eine Spalte `ppl` (Preis pro l) und die Tabelle `fuel_with_ppl`.\n",
"Die Spalte `ppl` soll aber in die Tabelle eingefügt werden. Dazu benötigt sie zuerst einmal einen Namen."
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "3092995f-b852-4db0-99aa-5bcf73cd0234",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"ppl_with_name = ppl.rename(\"Preis_pro_l\")"
]
},
{
"cell_type": "markdown",
"id": "db096e70-02ec-4f11-bfea-f229f72e6b89",
"metadata": {},
"source": [
"`rename()` benennt aber `ppl` nicht einfach um sondern erzeugt eine neue Spalte die den Namen enthält.\n",
"Diese kann kann mit der Tabelle vereinigt werden wobei wiederum eine neue Tabelle entsteht."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "70eb9694-9866-42e8-b8b0-b22c6ec46377",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"fuel_with_ppl = fuel_only.join(ppl_with_name)"
]
},
{
"cell_type": "markdown",
"id": "bd233836-e76e-4aed-b1e9-3b6f7c5439ef",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"Diese drei Befehle kann man auch in einem Zusammenfassen. Damit spart man sich neue Variablennamen."
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "3df419ef-aae2-43fd-871c-d09985fad63f",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Datum</th>\n",
" <th>Typ</th>\n",
" <th>Beschreibung</th>\n",
" <th>Preis</th>\n",
" <th>km</th>\n",
" <th>Liter</th>\n",
" <th>Preis_pro_l</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2012-07-10</td>\n",
" <td>Benzin</td>\n",
" <td>ESSO</td>\n",
" <td>57.01</td>\n",
" <td>199</td>\n",
" <td>34.89</td>\n",
" <td>1.633993</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2012-07-23</td>\n",
" <td>Benzin</td>\n",
" <td>Kaufland</td>\n",
" <td>55.03</td>\n",
" <td>828</td>\n",
" <td>34.20</td>\n",
" <td>1.609064</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Datum Typ Beschreibung Preis km Liter Preis_pro_l\n",
"1 2012-07-10 Benzin ESSO 57.01 199 34.89 1.633993\n",
"3 2012-07-23 Benzin Kaufland 55.03 828 34.20 1.609064"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fuel_with_ppl = fuel_only.join((fuel_only[\"Preis\"] / fuel_only[\"Liter\"]).rename(\"Preis_pro_l\"))\n",
"fuel_with_ppl.head(2)"
]
},
{
"cell_type": "markdown",
"id": "b728a171-9484-4731-b933-628ed01f2f9c",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"Damit können wir jetzt die Treibstoffkosten in Abhängigkeit vom km-Stand darstellen."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "4732e828-26e7-4563-826a-c1e2589c6f7b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fuel_with_ppl.plot(kind=\"scatter\", x=\"km\", y=\"Preis_pro_l\");\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "38c63e68-eedd-485b-a247-66191d549f17",
"metadata": {},
"source": [
"Interessant ist jetz noch der Verbrauch des Fahrzeugs, d.h. wieviele Liter pro 100 km es verbraucht hat.\n",
"Dazu muss man die Differenz zwischen jeweils zwei km-Ständen berechnen.\n",
"Dies geschieht mit der Funktion `diff()` die man auf eine Spalte der Daten anwendet."
]
},
{
"cell_type": "markdown",
"id": "21350aab-508b-4305-b817-6854bc80df37",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Aufgabe\n",
"1. Was macht die Funktion `diff()` genau?\n",
"1. Bei welchen Daten kann man die noch verwenden?"
]
},
{
"cell_type": "markdown",
"id": "fd0919aa-bf37-4437-af2f-00b9a8f121b2",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Lösung\n",
"Schauen wir uns das mal genauer an. Zuerst die Daten"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "8bae2c0a-cab5-4c78-b9aa-8c065b69d152",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 199\n",
"3 828\n",
"4 1444\n",
"6 2061\n",
"7 2710\n",
"Name: km, dtype: int64"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fuel_with_ppl[\"km\"].head(5)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "bd5eec5b-d958-428a-a164-eab324e9930d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 NaN\n",
"3 629.0\n",
"4 616.0\n",
"6 617.0\n",
"7 649.0\n",
"Name: km, dtype: float64"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fuel_with_ppl[\"km\"].diff().head(5)"
]
},
{
"cell_type": "markdown",
"id": "31f246d4-bead-4393-a478-dd53e2719e86",
"metadata": {},
"source": [
"`diff()` berechnet die Differnz von zwei aufeinanderfolgenden Zeilen.\n",
"Den Abstand kann man aber auch selbst festlegen. Möchte man die Differenz von jeweils den übernächsten Zeilen muss man den Parameter `periods` verwenden."
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "785605be-c477-4397-a7ac-bba042e94984",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"1 NaN\n",
"3 NaN\n",
"4 1245.0\n",
"6 1233.0\n",
"7 1266.0\n",
"Name: km, dtype: float64"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fuel_with_ppl[\"km\"].diff(periods=2).head(5)"
]
},
{
"cell_type": "markdown",
"id": "b322a18f-8d5b-44a1-b7a3-02daae8caff7",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Weiter mit der Verbrauchsberechung\n",
"Wir erzeugen jetzt eine neue **Series** in unserem **Data Frame** die gefahrenen km zwischen zwei Tankstopps enthält.\n",
"Mit der Funktion `diff()` geht das ohne Umwege:"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "b2173099-01c9-47d4-ba6d-177654600e51",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Datum</th>\n",
" <th>Typ</th>\n",
" <th>Beschreibung</th>\n",
" <th>Preis</th>\n",
" <th>km</th>\n",
" <th>Liter</th>\n",
" <th>Preis_pro_l</th>\n",
" <th>km_driven</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2012-07-10</td>\n",
" <td>Benzin</td>\n",
" <td>ESSO</td>\n",
" <td>57.01</td>\n",
" <td>199</td>\n",
" <td>34.89</td>\n",
" <td>1.633993</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2012-07-23</td>\n",
" <td>Benzin</td>\n",
" <td>Kaufland</td>\n",
" <td>55.03</td>\n",
" <td>828</td>\n",
" <td>34.20</td>\n",
" <td>1.609064</td>\n",
" <td>629.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Datum Typ Beschreibung Preis km Liter Preis_pro_l km_driven\n",
"1 2012-07-10 Benzin ESSO 57.01 199 34.89 1.633993 NaN\n",
"3 2012-07-23 Benzin Kaufland 55.03 828 34.20 1.609064 629.0"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fuel_with_ppl[\"km_driven\"] = fuel_with_ppl[\"km\"].diff()\n",
"fuel_with_ppl.head(2)"
]
},
{
"cell_type": "markdown",
"id": "15ad8aed-e928-46dc-aa6e-25ced6032236",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"Nun können wir den Verbrauch berechnen ..."
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "346095e8-ebeb-434c-81cd-ffa968176a74",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Datum</th>\n",
" <th>Typ</th>\n",
" <th>Beschreibung</th>\n",
" <th>Preis</th>\n",
" <th>km</th>\n",
" <th>Liter</th>\n",
" <th>Preis_pro_l</th>\n",
" <th>km_driven</th>\n",
" <th>l/100km</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2012-07-10</td>\n",
" <td>Benzin</td>\n",
" <td>ESSO</td>\n",
" <td>57.01</td>\n",
" <td>199</td>\n",
" <td>34.89</td>\n",
" <td>1.633993</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2012-07-23</td>\n",
" <td>Benzin</td>\n",
" <td>Kaufland</td>\n",
" <td>55.03</td>\n",
" <td>828</td>\n",
" <td>34.20</td>\n",
" <td>1.609064</td>\n",
" <td>629.0</td>\n",
" <td>5.437202</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Datum Typ Beschreibung Preis km Liter Preis_pro_l km_driven \\\n",
"1 2012-07-10 Benzin ESSO 57.01 199 34.89 1.633993 NaN \n",
"3 2012-07-23 Benzin Kaufland 55.03 828 34.20 1.609064 629.0 \n",
"\n",
" l/100km \n",
"1 NaN \n",
"3 5.437202 "
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"fuel_all = fuel_with_ppl.join((fuel_with_ppl[\"Liter\"] * 100 / fuel_with_ppl[\"km_driven\"]).rename(\"l/100km\"))\n",
"fuel_all.head(2)"
]
},
{
"cell_type": "markdown",
"id": "17d09559-c563-43ba-8e0b-52c993bb36b1",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"... und den Verbrauch in der Grafik darstellen.\n",
"Dabei ändern wir gleich noch ein paar Parameter um zu zeigen, was es alles so für Möglichkeiten gibt."
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "a9da9245-86f4-4cdb-9dce-3129bb204dc1",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA2AAAAEMCAYAAACiO9WsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAACEFUlEQVR4nO3ddXjb19XA8e8VmJkChiQONszQYCFl3Loy0zrqto6527oO367clVdeYV2ZIW0aZmY0xcwkWbrvHz9JkW3Jli3JlPN5nj5NZFm+vhH8zj3nnqu01gghhBBCCCGECD9Tbw9ACCGEEEIIIU4UEoAJIYQQQgghRA+RAEwIIYQQQggheogEYEIIIYQQQgjRQyQAE0IIIYQQQogeIgGYEEIIIYQQQvQQCcCEEOIEppQarpTSSilLHxjLYaXU6b3wcxcqpfb09M8VQghxYpIATAgh+hGl1AdKqT/4uP1CpdSxvhBI9Tda6+Va67G98bOVUne6AuA5Xfy+ZUqpm8M1LiGEEOEjAZgQQvQvzwBXK6VUm9uvAV7QWrcE+kDdCdYkwAsd17/htUCF6/9CCCFOABKACSFE//IGkAosdN+glEoGzgOeVUqZlFI/V0odUEqVK6VeUUqluO7nLje8SSl1FPjM63FvVEoVKqWKlFI/9nrsO5VSrymlnldK1QDXK6VmK6VWKaWqXPd/UCkV0eZnWLweo1W2Ril1i1Jql1KqVim1Uyk13WscU5VSW5VS1Uqpl5VSUb4mQSl1vVJqhVLqn65xHFRKney6PU8pVaKUus7r/pFKqX8opY4qpYqVUv9SSkW7vrZEKZXvdd/DSqkf+xuHUuo8pdRm189dqZSa7PW1nymlCly/2x6l1Gkd/FsuBIYAtwOXu+fQa96f9/q7Z16VUn9yfe+DSqk6pdSDrvucrJRa5xrzOqXUyW3m66BrXIeUUld1MC4hhBBhJAGYEEL0I1rrRuAVWmdMLgV2a623AN8DLgIWA0OBSuChNg+zGDgJONPrtlOA0cAZwM/a7MW6EHgNSAJeABzAD4E0YB5wGvDtQMavlPoGcKdr/AnABUB5m9/lLGAEMBm4voOHmwNsxQhIXwT+A8wCRgFXYwQoca77/gUYA0x1fT0T+G0Hj+1zHEqpacBTwDddP/dR4C1XgDcW+C4wS2sdjzG/hzv4GdcBb2P8ewKc38F9PbTWvwKWA9/VWsdprb/rCrLfBe53jese4F2lVKpSKtZ1+9mucZ0MbA7kZwkhhAg9CcCEEKL/eQa4xCsrc63rNoDbgF9prfO11s0Ywc4lbUoH79Ra17uCObffu27bBjwNXOH1tVVa6ze01k6tdaPWeoPWerXWukVrfRgjCFkc4NhvBv6mtV6nDfu11ke8vn6/1rpQa12BEZxM7eCxDmmtn9ZaO4CXgWzgD1rrZq31R4ANGOUq9bsV+KHWukJrXQvcDVzewWP7G8etwKNa6zVaa4fW+hmgGZiLEZhGAuOVUlat9WGt9QFfD66UigG+AbyotbZjBLjBlCGeC+zTWj/n+nd5CdjN8aDOCUxUSkVrrYu01juC+FlCCCGCIAGYEEL0M1rrr4Ay4CKl1EhgNkYGCGAY8D9XeVwVsAsjMBjk9RB5Ph7W+7YjGNkzn/dXSo1RSr3javpRgxHMpAU4/GzAZ1Dicszrzw1AnL87AsVef24E0Fq3vS0OSAdigA1e8/KB6/aujmMY8CP347geKxsYqrXeD/wAI+gtUUr9RynlPY/eLgZagPdcf38BOFsp1dGYOjIU49/N2xEgU2tdD1yGEZwXKaXeVUqN6+bPEUIIESQJwIQQon96FiNjcjXwoVfgkYdRapbk9V+U1rrA63u1j8fL9vpzDlDYwf0fwciujNZaJwC/BNxNQepd/4/xuv9grz/nASM7/tVCrgwjGJvgNSeJWuuOgjt/8oA/tZnfGFfGCa31i1rrBRiBmgb+6udxrsMI6o4qpY4BrwJW4ErX1+vxP4fQ/t+k0PUzveUABa5xfai1Xoqx52w38HhAv60QQoiQkwBMCCH6p2eB04FbOF5+CPAv4E9KqWEASql0pdSFATzeb5RSMUqpCcANGCV9/sQDNUCdK5PyLfcXtNalGBf9VyulzEqpG2kdcD0B/FgpNUMZRrnHGi5aaydGwPFPpVQGgFIqUyl1Zsff6dPjwG1KqTmu8ccqpc5VSsUrpcYqpU5VSkUCTRhBn7PtAyilMjH2zZ2HUdo4FZiCEay5yxA3A4uUUjlKqUTgF20ephjI9fr7e8AYpdSVrkYdlwHjgXeUUoOUcUxBLEa5ZJ2vcQkhhOgZEoAJIUQ/5Np7tRKIBd7y+tJ9rr9/pJSqBVZjNKvozBfAfuBT4B+uPVT+/BgjU1OLEZC0DdZuAX6C0Vxjgmuc7nG/CvwJo2SyFqOrY0oA4wvWzzB+v9WusslPgC6f/aW1Xo/x+z2I0eBkP8cbhURiNPsowyhhzKB94ATGkQGbtdYfaa2Puf/DaJQxWSk1UWv9Mca8bgU2AO+0eYz7MPb2VSql7tdal2MEdD/CmPefAudprcswPuvvwMiSVWDs1/sWQggheoXS2lclihBCCCGEEEKIUJMMmBBCCCGEEEL0EAnAhBBCCCGEEKKHSAAmhBBCCCGEED1EAjAhhBBCCCGE6CESgAkhhBBCCCFED7GE40HT0tL08OHDw/HQQgghhBBCCNHnbdiwoUxrnd729rAEYMOHD2f9+vXheGghhBBCCCGE6POUUkd83S4liEIIIYQQQgjRQyQAE0IIIYQQQogeIgGYEEIIIYQQQvSQsOwBE0IIIYQQQvRPdrud/Px8mpqaenso/UJUVBRZWVlYrdaA7i8BmBBCCCGEEMIjPz+f+Ph4hg8fjlKqt4fTp2mtKS8vJz8/nxEjRgT0PVKCKIQQA5jd4aSkRlYwhRBCBK6pqYnU1FQJvgKglCI1NbVL2UIJwIQQYgD71f+2MfvuT2myO3p7KEIIIfoRCb4C19W5kgBMCCEGsI92FgPQaJMATAghRP8RFxfX6u9nn302+fn5PPjgg4waNQqlFGVlZZ6va625/fbbGTVqFJMnT2bjxo2erz3zzDOMHj2a0aNH88wzz/j9GT1F9oAJIcQAZjEZq3ItTt3LIxFCCCG6p7GxkfLycrKyspg/fz7nnXceS5YsaXWf999/n3379rFv3z7WrFnDt771LdasWUNFRQW///3vWb9+PUopZsyYwQUXXEBycnLv/DJIBkwIIQY0sycAc/bySIQQQojuWbZsmSfgmjZtGsOHD293nzfffJNrr70WpRRz586lqqqKoqIiPvzwQ5YuXUpKSgrJycksXbqUDz74oNX3lpWVMW/ePN59912WLVvG4sWLufDCC8nNzeXnP/85L7zwArNnz2bSpEkcOHAg6N9HMmBCCDGAWUzGOluLQzJgQgghuu73b+9gZ2FNSB9z/NAEfnf+hIDv//7773PRRRd1eJ+CggKys7M9f8/KyqKgoMDv7W7FxcVccMEF3HXXXSxdupRly5axZcsWdu3aRUpKCrm5udx8882sXbuW++67jwceeIB777034LH7IhkwIYQYwMxSgiiEEKKfW7FiBQsWLAj549rtdk477TT+9re/sXTpUs/ts2bNYsiQIURGRjJy5EjOOOMMACZNmsThw4eD/rmSARNCiAHMswfMISWIQgghuq4rmapwOHjwINnZ2URERHR4v8zMTPLy8jx/z8/PJzMzk8zMTJYtW9bqdnc5o8ViYcaMGXz44YcsXrzYc5/IyEjPn00mk+fvJpOJlpaWoH8nyYAJIcQAZjEbAZhNAjAhhBD90Pvvv89ZZ53V6f0uuOACnn32WbTWrF69msTERIYMGcKZZ57JRx99RGVlJZWVlXz00UeceeaZgNE+/qmnnmL37t389a9/Dfev4iEBmBBCDGBm1x4wu+wBE0II0Q998MEHrQKw+++/n6ysLPLz85k8eTI333wzAOeccw65ubmMGjWKW265hYcffhiAlJQUfvOb3zBr1ixmzZrFb3/7W1JSUjyPZzabeemll/jss8883xNuSuvQfyjPnDlTr1+/PuSPK4QQomv
"text/plain": [
"<Figure size 1080x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fuel_all.plot(x=\"Datum\", y=\"l/100km\", figsize=(15,4), title=\"Verbrauch meines Autos\");\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "49454f16-873e-4802-9535-ad331f698742",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Box-and-Whisker-Plots\n",
"Auf einen Blick sehen, wie die Daten verteilt sind.\n",
"Wer erinnert sich noch an `describe()`?"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "95c4dddf-de31-425b-9bee-7221a0c9b7d5",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fuel_all.plot(kind=\"box\");\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "117cde42-698c-4d2d-841d-816772f6a422",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"Wenn sich die Werte in den Spalten voneinander unterscheiden ist es besser, wenn man die Daten einzeln visualisert:"
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "395dd8c4-5c88-4bcf-b77f-06db4f8f92ab",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1080x288 with 4 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fuel_all[[\"Liter\", \"Preis_pro_l\", \"km_driven\", \"l/100km\"]].plot(kind=\"box\", subplots=True, figsize=(15,4));\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "215661fd-30c1-4fa3-98e4-fbbd991f0402",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Bar-Charts"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "7f8176ab-6239-49e3-bf03-831448411301",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"d.groupby(\"Typ\")[\"Preis\"].sum().plot(kind=\"bar\");\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "7d3bdb98-87cb-4990-9038-1f26a9bc49f9",
"metadata": {
"slideshow": {
"slide_type": "slide"
},
"tags": []
},
"source": [
"## Pie-Charts"
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "c30096be-6783-4f26-aa70-1bcf6e4c9d2c",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"d.groupby(\"Typ\")[\"Preis\"].sum().plot(kind=\"pie\");\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "e6c9a7fb-b374-4743-8b37-77fc8de79cbd",
"metadata": {},
"source": [
"## Grafiken speichern/exportieren\n",
"\n",
"Zum speichern der Grafiken muss man sich zuerst mittels `get_figure()` einen Verweis auf die Grafik holen ",
"Danach kann man über diese Referenz die Grafik in verschiedenen Formaten speichern:\n",
"```\n",
"fig = d.groupby(\"Typ\")[\"Preis\"].sum().plot(kind=\"pie\").get_figure();\n",
"fig.savefig('pie.png');\n",
"fig.savefig('pie.pdf');\n",
"```"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}