"
],
"text/plain": [
" id Name Last Name dead year_born no_of_songs\n",
"count 4.000000 4 4 4 4.00 4.000000\n",
"unique NaN 4 4 2 NaN NaN\n",
"top NaN John Lennon True NaN NaN\n",
"freq NaN 1 1 2 NaN NaN\n",
"mean 2.500000 NaN NaN NaN 1941.25 36.750000\n",
"std 1.290994 NaN NaN NaN 1.50 28.229712\n",
"min 1.000000 NaN NaN NaN 1940.00 3.000000\n",
"25% 1.750000 NaN NaN NaN 1940.00 18.750000\n",
"50% 2.500000 NaN NaN NaN 1941.00 41.000000\n",
"75% 3.250000 NaN NaN NaN 1942.25 59.000000\n",
"max 4.000000 NaN NaN NaN 1943.00 62.000000"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe(include=\"all\")"
]
},
{
"cell_type": "markdown",
"id": "e3fc9e0f-7c50-43dd-8c56-3ecc6547b909",
"metadata": {},
"source": [
"**Index in die Variable `id` ändern**"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "d895c130-93c0-4faf-955a-2e502554f3f2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
id
\n",
"
Name
\n",
"
Last Name
\n",
"
dead
\n",
"
year_born
\n",
"
no_of_songs
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
John
\n",
"
Lennon
\n",
"
True
\n",
"
1940
\n",
"
62
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
Paul
\n",
"
McCartney
\n",
"
False
\n",
"
1942
\n",
"
58
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
George
\n",
"
Harrison
\n",
"
True
\n",
"
1943
\n",
"
24
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
Ringo
\n",
"
Star
\n",
"
False
\n",
"
1940
\n",
"
3
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" id Name Last Name dead year_born no_of_songs\n",
"0 1 John Lennon True 1940 62\n",
"1 2 Paul McCartney False 1942 58\n",
"2 3 George Harrison True 1943 24\n",
"3 4 Ringo Star False 1940 3"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "7eaf95c9-7e03-4a33-9986-b17b312fc11b",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Name
\n",
"
Last Name
\n",
"
dead
\n",
"
year_born
\n",
"
no_of_songs
\n",
"
\n",
"
\n",
"
id
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1
\n",
"
John
\n",
"
Lennon
\n",
"
True
\n",
"
1940
\n",
"
62
\n",
"
\n",
"
\n",
"
2
\n",
"
Paul
\n",
"
McCartney
\n",
"
False
\n",
"
1942
\n",
"
58
\n",
"
\n",
"
\n",
"
3
\n",
"
George
\n",
"
Harrison
\n",
"
True
\n",
"
1943
\n",
"
24
\n",
"
\n",
"
\n",
"
4
\n",
"
Ringo
\n",
"
Star
\n",
"
False
\n",
"
1940
\n",
"
3
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Last Name dead year_born no_of_songs\n",
"id \n",
"1 John Lennon True 1940 62\n",
"2 Paul McCartney False 1942 58\n",
"3 George Harrison True 1943 24\n",
"4 Ringo Star False 1940 3"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.set_index(\"id\")"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "cb0dc184-ecb3-46df-abd9-f6485ba2a86f",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
id
\n",
"
Name
\n",
"
Last Name
\n",
"
dead
\n",
"
year_born
\n",
"
no_of_songs
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
John
\n",
"
Lennon
\n",
"
True
\n",
"
1940
\n",
"
62
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
Paul
\n",
"
McCartney
\n",
"
False
\n",
"
1942
\n",
"
58
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
George
\n",
"
Harrison
\n",
"
True
\n",
"
1943
\n",
"
24
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
Ringo
\n",
"
Star
\n",
"
False
\n",
"
1940
\n",
"
3
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" id Name Last Name dead year_born no_of_songs\n",
"0 1 John Lennon True 1940 62\n",
"1 2 Paul McCartney False 1942 58\n",
"2 3 George Harrison True 1943 24\n",
"3 4 Ringo Star False 1940 3"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"id": "cd392ee2-98ba-4ac9-add4-c41e248ac728",
"metadata": {},
"source": [
"Beachten Sie, dass sich nichts geändert hat!!\n",
"\n",
"Aus Gründen der Speicher- und Berechnungseffizienz gibt `Pandas` eine Ansicht des Objekts zurück, keine Kopie. Wenn wir also eine dauerhafte Änderung vornehmen wollen, müssen wir das Objekt einer Variablen zuweisen/neu zuordnen:\n",
"\n",
"`df = df.set_index(\"id\") `\n",
"\n",
"oder einige Methoden haben das Argument `inplace=True`:\n",
"\n",
"`df.set_index(\"id\", inplace=True)` "
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "3cb07063-60e4-4cd6-9022-cd1d0c8056bc",
"metadata": {},
"outputs": [],
"source": [
"df = df.set_index(\"id\")"
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "5a62f520-2f27-4ca6-a719-a65c4b700b95",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Name
\n",
"
Last Name
\n",
"
dead
\n",
"
year_born
\n",
"
no_of_songs
\n",
"
\n",
"
\n",
"
id
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1
\n",
"
John
\n",
"
Lennon
\n",
"
True
\n",
"
1940
\n",
"
62
\n",
"
\n",
"
\n",
"
2
\n",
"
Paul
\n",
"
McCartney
\n",
"
False
\n",
"
1942
\n",
"
58
\n",
"
\n",
"
\n",
"
3
\n",
"
George
\n",
"
Harrison
\n",
"
True
\n",
"
1943
\n",
"
24
\n",
"
\n",
"
\n",
"
4
\n",
"
Ringo
\n",
"
Star
\n",
"
False
\n",
"
1940
\n",
"
3
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Last Name dead year_born no_of_songs\n",
"id \n",
"1 John Lennon True 1940 62\n",
"2 Paul McCartney False 1942 58\n",
"3 George Harrison True 1943 24\n",
"4 Ringo Star False 1940 3"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"id": "72bee6b1-99da-46ba-9100-a4e00ea490cd",
"metadata": {},
"source": [
"**Arithmetische Methoden**"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "55454ac6-7b5c-460e-a760-d58bfd37ebf9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Name
\n",
"
Last Name
\n",
"
dead
\n",
"
year_born
\n",
"
no_of_songs
\n",
"
\n",
"
\n",
"
id
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1
\n",
"
John
\n",
"
Lennon
\n",
"
True
\n",
"
1940
\n",
"
62
\n",
"
\n",
"
\n",
"
2
\n",
"
Paul
\n",
"
McCartney
\n",
"
False
\n",
"
1942
\n",
"
58
\n",
"
\n",
"
\n",
"
3
\n",
"
George
\n",
"
Harrison
\n",
"
True
\n",
"
1943
\n",
"
24
\n",
"
\n",
"
\n",
"
4
\n",
"
Ringo
\n",
"
Star
\n",
"
False
\n",
"
1940
\n",
"
3
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Last Name dead year_born no_of_songs\n",
"id \n",
"1 John Lennon True 1940 62\n",
"2 Paul McCartney False 1942 58\n",
"3 George Harrison True 1943 24\n",
"4 Ringo Star False 1940 3"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "9be595a5-37ba-4784-80f1-776f287f466f",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Name JohnPaulGeorgeRingo\n",
"Last Name LennonMcCartneyHarrisonStar\n",
"dead 2\n",
"year_born 7765\n",
"no_of_songs 147\n",
"dtype: object"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sum(axis=0)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"id": "2d269f9c-9100-482a-9ae0-d8323cdea594",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/var/folders/4l/3kysx_3j3vj4h8l26gg_1q8c0000gn/T/ipykernel_30190/1459321664.py:1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction.\n",
" df.sum(axis=1)\n"
]
},
{
"data": {
"text/plain": [
"id\n",
"1 2003.0\n",
"2 2000.0\n",
"3 1968.0\n",
"4 1943.0\n",
"dtype: float64"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sum(axis=1)"
]
},
{
"cell_type": "markdown",
"id": "8351ea53-f329-42b5-bd6a-2f7e85211458",
"metadata": {},
"source": [
"### `Groupby`-Methode"
]
},
{
"cell_type": "markdown",
"id": "a03a942d-5e70-4d5a-86e6-74940b56804b",
"metadata": {},
"source": [
"Hadley Wickham 2011: The Split-Apply-Combine Strategy for Data Analysis, Journal of Statistical Software, 40(1)"
]
},
{
"cell_type": "markdown",
"id": "a08ce865-0e7d-4aa6-a41b-98f29ba27ef1",
"metadata": {},
"source": [
""
]
},
{
"cell_type": "code",
"execution_count": 41,
"id": "ea805e8a-6e5e-4dba-b585-8bbd49905906",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" Name Last Name\n",
"id \n",
"1 John Lennon\n",
"2 Paul McCartney\n",
"3 George Harrison\n",
"4 Ringo Star"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[[\"Name\", \"Last Name\"]]"
]
},
{
"cell_type": "code",
"execution_count": 53,
"id": "dfe567b7-6d99-4d5e-bc21-2fd4c8087e09",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"id\n",
"1 True\n",
"2 False\n",
"3 True\n",
"4 False\n",
"Name: dead, dtype: bool"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.dead"
]
},
{
"cell_type": "markdown",
"id": "05d47c1a-39e1-468f-a89f-34139e75a09b",
"metadata": {},
"source": [
"**Zeilenindex**\n",
"\n",
"Neben dem `[ ]`-Operator verfügt Pandas über weitere Indizierungsoperatoren wie `.loc[]` und `.iloc[]`, um nur einige zu nennen.\n",
"\n",
" - `.loc[]` basiert hauptsächlich auf **Bezeichnungen**, kann aber auch mit einem booleschen Array verwendet werden.\n",
" - `.iloc[]` basiert in erster Linie auf **Ganzzahlpositionen** (von $0$ bis Länge $-1$ der Achse), kann aber auch mit einem booleschen Array verwendet werden."
]
},
{
"cell_type": "code",
"execution_count": 54,
"id": "da98ccba-b31e-412a-90a3-cb8983e1db19",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
"
],
"text/plain": [
" Name Last Name dead year_born no_of_songs age\n",
"id \n",
"1 John Lennon 1.0 1940 62.0 82\n",
"2 Paul McCartney 0.0 1942 58.0 80\n",
"3 George Harrison 1.0 1943 24.0 79\n",
"4 Ringo Star 0.0 1940 3.0 82\n",
"5 Mickey Mouse NaN 1928 NaN 94"
]
},
"execution_count": 68,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"age\"] = now - df.year_born\n",
"df"
]
},
{
"cell_type": "markdown",
"id": "ce63d74b-77f0-43e4-9317-dca691809d3f",
"metadata": {},
"source": [
"**Einen bestimmten Eintrag ändern**"
]
},
{
"cell_type": "code",
"execution_count": 69,
"id": "b2a82510-0514-414d-90d3-2f6572dd3845",
"metadata": {},
"outputs": [],
"source": [
"df.loc[5, \"Name\"] = \"Minnie\""
]
},
{
"cell_type": "code",
"execution_count": 70,
"id": "98029ca6-e64b-472a-87af-3181a63399f9",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Name
\n",
"
Last Name
\n",
"
dead
\n",
"
year_born
\n",
"
no_of_songs
\n",
"
age
\n",
"
\n",
"
\n",
"
id
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1
\n",
"
John
\n",
"
Lennon
\n",
"
1.0
\n",
"
1940
\n",
"
62.0
\n",
"
82
\n",
"
\n",
"
\n",
"
2
\n",
"
Paul
\n",
"
McCartney
\n",
"
0.0
\n",
"
1942
\n",
"
58.0
\n",
"
80
\n",
"
\n",
"
\n",
"
3
\n",
"
George
\n",
"
Harrison
\n",
"
1.0
\n",
"
1943
\n",
"
24.0
\n",
"
79
\n",
"
\n",
"
\n",
"
4
\n",
"
Ringo
\n",
"
Star
\n",
"
0.0
\n",
"
1940
\n",
"
3.0
\n",
"
82
\n",
"
\n",
"
\n",
"
5
\n",
"
Minnie
\n",
"
Mouse
\n",
"
NaN
\n",
"
1928
\n",
"
NaN
\n",
"
94
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Last Name dead year_born no_of_songs age\n",
"id \n",
"1 John Lennon 1.0 1940 62.0 82\n",
"2 Paul McCartney 0.0 1942 58.0 80\n",
"3 George Harrison 1.0 1943 24.0 79\n",
"4 Ringo Star 0.0 1940 3.0 82\n",
"5 Minnie Mouse NaN 1928 NaN 94"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "markdown",
"id": "194f146c-6dba-476e-ba73-ea57a92fe576",
"metadata": {},
"source": [
"## Plotten"
]
},
{
"cell_type": "markdown",
"id": "910d2b24-54e3-4af3-b8d7-d7330d82592a",
"metadata": {},
"source": [
"Die Plotting-Funktionalität in Pandas basiert auf Matplotlib. Es ist recht praktisch, den Visualisierungsprozess mit der grundlegenden Pandas-Darstellung zu beginnen und zu matplotlib zu wechseln, um die Pandas-Visualisierung anzupassen."
]
},
{
"cell_type": "markdown",
"id": "667b3a73-fd98-4671-b701-acbfafdf5eb1",
"metadata": {},
"source": [
"### `plot`-Methoden"
]
},
{
"cell_type": "code",
"execution_count": 71,
"id": "0ab00d67-ac63-4c95-a4b3-3d209232f3be",
"metadata": {},
"outputs": [],
"source": [
"# dieser Aufruf bewirkt, dass die Zahlen unter den Codezellen eingezeichnet werden\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 72,
"id": "11c74355-e63d-429f-81da-cb2aaf25973c",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Name
\n",
"
Last Name
\n",
"
dead
\n",
"
year_born
\n",
"
no_of_songs
\n",
"
age
\n",
"
\n",
"
\n",
"
id
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
1
\n",
"
John
\n",
"
Lennon
\n",
"
1.0
\n",
"
1940
\n",
"
62.0
\n",
"
82
\n",
"
\n",
"
\n",
"
2
\n",
"
Paul
\n",
"
McCartney
\n",
"
0.0
\n",
"
1942
\n",
"
58.0
\n",
"
80
\n",
"
\n",
"
\n",
"
3
\n",
"
George
\n",
"
Harrison
\n",
"
1.0
\n",
"
1943
\n",
"
24.0
\n",
"
79
\n",
"
\n",
"
\n",
"
4
\n",
"
Ringo
\n",
"
Star
\n",
"
0.0
\n",
"
1940
\n",
"
3.0
\n",
"
82
\n",
"
\n",
"
\n",
"
5
\n",
"
Minnie
\n",
"
Mouse
\n",
"
NaN
\n",
"
1928
\n",
"
NaN
\n",
"
94
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Name Last Name dead year_born no_of_songs age\n",
"id \n",
"1 John Lennon 1.0 1940 62.0 82\n",
"2 Paul McCartney 0.0 1942 58.0 80\n",
"3 George Harrison 1.0 1943 24.0 79\n",
"4 Ringo Star 0.0 1940 3.0 82\n",
"5 Minnie Mouse NaN 1928 NaN 94"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df"
]
},
{
"cell_type": "code",
"execution_count": 73,
"id": "51567157-c3ff-4d08-a928-eb1e77ee0c56",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 73,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df[[\"no_of_songs\", \"age\"]].plot()"
]
},
{
"cell_type": "code",
"execution_count": 74,
"id": "4903e9c0-5193-460c-8cf0-ae8730db45c3",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df[\"dead\"].plot.hist()"
]
},
{
"cell_type": "code",
"execution_count": 75,
"id": "88bb0204-bfc6-472c-a1cd-bd72728bd05a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df[\"age\"].plot.bar()"
]
},
{
"cell_type": "markdown",
"id": "aa15d8e0-464e-4d2f-b1b2-a3214ac3cbef",
"metadata": {
"tags": []
},
"source": [
"> __...einige Anmerkungen zum Plotten mit Python__"
]
},
{
"cell_type": "markdown",
"id": "2ece07df-292c-4614-b170-da13ca473120",
"metadata": {},
"source": [
"Das Plotten ist ein wesentlicher Bestandteil der Datenanalyse. Die Welt der Python-Visualisierung kann jedoch ein frustrierender Ort sein. Es gibt viele verschiedene Optionen, und die Auswahl der richtigen ist eine Herausforderung. (Wenn Sie sich trauen, werfen Sie einen Blick auf die Python-Visualisierungslandschaft).\n",
"\n",
"matplotlib ist wahrscheinlich die bekannteste Python-Bibliothek für 2D-Diagramme. Mit ihr lassen sich plattformübergreifend Zahlen in Publikationsqualität in einer Vielzahl von Formaten und interaktiven Umgebungen erstellen. Allerdings ist matplotlib aufgrund der komplexen Syntax und der Existenz zweier Schnittstellen, einer **MATLAB-ähnlichen zustandsbasierten Schnittstelle** und einer **objektorientierten Schnittstelle**, schwer zugänglich. Daher gibt **es immer mehr als eine Möglichkeit, eine Visualisierung zu erstellen**. Eine weitere Quelle der Verwirrung ist die Tatsache, dass matplotlib gut in andere Python-Bibliotheken integriert ist, wie z. B. pandas, seaborn, xarray und andere. Daher gibt es Verwirrung darüber, wann man die reine matplotlib oder ein Tool, das auf matplotlib aufbaut, verwenden sollte.\n",
"\n",
"Wir importieren die `matplotlib`-Bibliothek und das `pyplot`-Modul von matplotlib mit den folgenden kanonischen Befehlen\n",
"\n",
"`import matplotlib as mpl`\n",
"`import matplotlib.pyplot as plt`\n",
"\n",
"In Bezug auf die Terminologie von matplotlib ist es wichtig zu verstehen, dass die `Figure` das endgültige Bild ist, das eine oder mehrere `Axes` enthalten kann, und dass die `Axes` eine individuelle Darstellung repräsentieren.\n",
"\n",
"Um ein `Figure`-Objekt zu erstellen, rufen wir\n",
"\n",
"`fig = plt.figure()` auf.\n",
"\n",
"Ein bequemerer Weg, ein `Figure`-Objekt und ein `Axes`-Objekt auf einmal zu erstellen, ist jedoch der Aufruf\n",
"\n",
"`fig, ax = plt.subplots()` \n",
"\n",
"Dann können wir das `Axes`-Objekt verwenden, um Daten für die Darstellung hinzuzufügen."
]
},
{
"cell_type": "code",
"execution_count": 76,
"id": "88e5d523-8a7d-4424-ad8c-ad4f0bb044a1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'The Beatles and ... something else')"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Erzeuge Figure und Axes Objekt\n",
"fig, ax = plt.subplots(figsize=(10, 5))\n",
"\n",
"# plot die Daten und referenzier das Axes Objekt\n",
"df[\"age\"].plot.bar(ax=ax)\n",
"\n",
"# Passe das Axes Objekt an\n",
"ax.set_xticklabels(df[\"Name\"], rotation=0)\n",
"ax.set_xlabel(\"\")\n",
"ax.set_ylabel(\"Age\", size=14)\n",
"ax.set_title(\"The Beatles and ... something else\", size=18)"
]
},
{
"cell_type": "markdown",
"id": "60949b63-0419-405b-8c47-2fb26746ef19",
"metadata": {},
"source": [
"Beachten Sie, dass wir nur an der Oberfläche der Plot-Möglichkeiten mit Pandas kratzen. In der Online-Dokumentation von Pandas (hier) finden Sie einen umfassenden Überblick."
]
}
],
"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.10.2"
}
},
"nbformat": 4,
"nbformat_minor": 5
}