uczenie-maszynowe/lab/02_Wczytywanie_i_prezentowa...

946 lines
833 KiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
2022-11-03 15:37:40 +01:00
"### Uczenie maszynowe — laboratoria\n",
"# 2. Wczytywanie i prezentowanie danych"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.1. Formaty CSV i TSV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Przechowywanie danych w plikach w formatach CSV i TSV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**CSV** (*Comma-Separated Values*) i **TSV** (*Tab-Separated Values*) to proste formaty przechowywania danych tabelarycznych w postaci tekstowej.\n",
"\n",
"Każdy rekord zapisywany jest w osobnym wierszu, a poszczególne pola oddzielone są przecinkami (CSV) lub znakami tabulacji (TSV)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Przykład\n",
"\n",
"Następujące dane tabelaryczne:\n",
"\n",
"imię | nazwisko | rok ur. | adres\n",
":----|:----------|:--------|:----------------------\n",
"Jan | Nowak | 1999 | Poznańska 3, Warszawa\n",
"Anna | Kowalska | 2001 | Warszawska 9, Poznań\n",
"Ewa | Kaczmarek | 1990 | Wrocławska 123, Gdańsk\n",
"\n",
"możemy zapisać w formacie CSV jako:\n",
"\n",
" imię,nazwisko,rok ur.,adres\n",
" Jan,Nowak,1999,\"Poznańska 3, Warszawa\"\n",
" Anna,Kowalska,2001,\"Warszawska 9, Poznań\"\n",
" Ewa,Kaczmarek,1990,\"Wrocławska 123, Gdańsk\"\n",
"\n",
"lub w formacie TSV jako:\n",
"\n",
" imię nazwisko rok ur. adres\n",
" Jan Nowak 1999 Poznańska 3, Warszawa\n",
" Anna Kowalska 2001 Warszawska 9, Poznań\n",
" Ewa Kaczmarek 1990 Wrocławska 123, Gdańsk\n",
" \n",
"W formacie TSV poszczególne pola oddzielone są znakami tabulacji, a nie spacjami.\n",
"\n",
"Znak tabulacji to ten biały (tj. niedrukowalny) znak, który pojawia się po naciśnięciu klawisza **Tab** na klawiaturze."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Formaty CSV i TSV mają tę zaletę, że są proste, łatwe do przetorzenia przez komputer oraz czytelne dla człowieka."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wczytywanie danych z plików CSV i TSV"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Biblioteka `csv`"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['price', 'isNew', 'rooms', 'floor', 'location', 'sqrMetres']\n",
"['476118.0', 'False', '3', '1', 'Centrum', '78']\n",
"['459531.0', 'False', '3', '2', 'Sołacz', '62']\n",
"['411557.0', 'False', '3', '0', 'Sołacz', '15']\n",
"['496416.0', 'False', '4', '0', 'Sołacz', '14']\n",
"['406032.0', 'False', '3', '0', 'Sołacz', '15']\n",
"['450026.0', 'False', '3', '1', 'Naramowice', '80']\n",
"['571229.15', 'False', '2', '4', 'Wilda', '39']\n",
"['325000.0', 'False', '3', '1', 'Grunwald', '54']\n",
"['268229.0', 'False', '2', '1', 'Grunwald', '90']\n"
]
}
],
"source": [
"import csv\n",
"\n",
2022-10-14 11:38:56 +02:00
"with open(\"data1.csv\", encoding=\"utf-8\") as data_file:\n",
" reader = csv.reader(data_file)\n",
" for row in reader:\n",
2022-10-14 11:38:56 +02:00
" print(row)\n"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'price': '476118.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Centrum', 'sqrMetres': '78'}\n",
"{'price': '459531.0', 'isNew': 'False', 'rooms': '3', 'floor': '2', 'location': 'Sołacz', 'sqrMetres': '62'}\n",
"{'price': '411557.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
"{'price': '496416.0', 'isNew': 'False', 'rooms': '4', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '14'}\n",
"{'price': '406032.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
"{'price': '450026.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Naramowice', 'sqrMetres': '80'}\n",
"{'price': '571229.15', 'isNew': 'False', 'rooms': '2', 'floor': '4', 'location': 'Wilda', 'sqrMetres': '39'}\n",
"{'price': '325000.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '54'}\n",
"{'price': '268229.0', 'isNew': 'False', 'rooms': '2', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '90'}\n"
]
}
],
"source": [
"import csv\n",
"\n",
2022-10-14 11:38:56 +02:00
"with open(\"data1.csv\", encoding=\"utf-8\") as data_file:\n",
" reader = csv.DictReader(data_file)\n",
" for row in reader:\n",
2022-10-14 11:38:56 +02:00
" print(dict(row))\n"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['price', 'isNew', 'rooms', 'floor', 'location', 'sqrMetres']\n",
"['476118.0', 'False', '3', '1', 'Centrum', '78']\n",
"['459531.0', 'False', '3', '2', 'Sołacz', '62']\n",
"['411557.0', 'False', '3', '0', 'Sołacz', '15']\n",
"['496416.0', 'False', '4', '0', 'Sołacz', '14']\n",
"['406032.0', 'False', '3', '0', 'Sołacz', '15']\n",
"['450026.0', 'False', '3', '1', 'Naramowice', '80']\n",
"['571229.15', 'False', '2', '4', 'Wilda', '39']\n",
"['325000.0', 'False', '3', '1', 'Grunwald', '54']\n",
"['268229.0', 'False', '2', '1', 'Grunwald', '90']\n"
]
}
],
"source": [
"import csv\n",
"\n",
2022-10-14 11:38:56 +02:00
"with open(\"data1.tsv\", encoding=\"utf-8\") as data_file:\n",
" reader = csv.reader(data_file, delimiter=\"\\t\")\n",
" for row in reader:\n",
2022-10-14 11:38:56 +02:00
" print(row)\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'price': '476118.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Centrum', 'sqrMetres': '78'}\n",
"{'price': '459531.0', 'isNew': 'False', 'rooms': '3', 'floor': '2', 'location': 'Sołacz', 'sqrMetres': '62'}\n",
"{'price': '411557.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
"{'price': '496416.0', 'isNew': 'False', 'rooms': '4', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '14'}\n",
"{'price': '406032.0', 'isNew': 'False', 'rooms': '3', 'floor': '0', 'location': 'Sołacz', 'sqrMetres': '15'}\n",
"{'price': '450026.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Naramowice', 'sqrMetres': '80'}\n",
"{'price': '571229.15', 'isNew': 'False', 'rooms': '2', 'floor': '4', 'location': 'Wilda', 'sqrMetres': '39'}\n",
"{'price': '325000.0', 'isNew': 'False', 'rooms': '3', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '54'}\n",
"{'price': '268229.0', 'isNew': 'False', 'rooms': '2', 'floor': '1', 'location': 'Grunwald', 'sqrMetres': '90'}\n"
]
}
],
"source": [
"import csv\n",
"\n",
2022-10-14 11:38:56 +02:00
"with open(\"data1.tsv\", encoding=\"utf-8\") as data_file:\n",
" reader = csv.DictReader(data_file, delimiter=\"\\t\")\n",
" for row in reader:\n",
2022-10-14 11:38:56 +02:00
" print(dict(row))\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### Biblioteka `pandas`"
]
},
{
"cell_type": "code",
"execution_count": 5,
2023-03-09 11:03:55 +01:00
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" price isNew rooms floor location sqrMetres\n",
"0 476118.00 False 3 1 Centrum 78\n",
"1 459531.00 False 3 2 Sołacz 62\n",
"2 411557.00 False 3 0 Sołacz 15\n",
"3 496416.00 False 4 0 Sołacz 14\n",
"4 406032.00 False 3 0 Sołacz 15\n",
"5 450026.00 False 3 1 Naramowice 80\n",
"6 571229.15 False 2 4 Wilda 39\n",
"7 325000.00 False 3 1 Grunwald 54\n",
"8 268229.00 False 2 1 Grunwald 90\n"
]
}
],
"source": [
"import pandas as pd\n",
"\n",
2022-10-14 11:38:56 +02:00
"data = pd.read_csv(\"data1.csv\")\n",
"print(data)\n"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" price isNew rooms floor location sqrMetres\n",
"0 476118.00 False 3 1 Centrum 78\n",
"1 459531.00 False 3 2 Sołacz 62\n",
"2 411557.00 False 3 0 Sołacz 15\n",
"3 496416.00 False 4 0 Sołacz 14\n",
"4 406032.00 False 3 0 Sołacz 15\n",
"5 450026.00 False 3 1 Naramowice 80\n",
"6 571229.15 False 2 4 Wilda 39\n",
"7 325000.00 False 3 1 Grunwald 54\n",
"8 268229.00 False 2 1 Grunwald 90\n"
]
}
],
"source": [
"import pandas as pd\n",
"\n",
2022-10-14 11:38:56 +02:00
"data = pd.read_csv(\"data1.tsv\", sep=\"\\t\")\n",
"print(data)\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[476118.0 False 3 1 'Centrum' 78]\n",
" [459531.0 False 3 2 'Sołacz' 62]\n",
" [411557.0 False 3 0 'Sołacz' 15]\n",
" [496416.0 False 4 0 'Sołacz' 14]\n",
" [406032.0 False 3 0 'Sołacz' 15]\n",
" [450026.0 False 3 1 'Naramowice' 80]\n",
" [571229.15 False 2 4 'Wilda' 39]\n",
" [325000.0 False 3 1 'Grunwald' 54]\n",
" [268229.0 False 2 1 'Grunwald' 90]]\n"
]
}
],
"source": [
"print(data.to_numpy()) # dane z Pandas DataFrame można przekonwertować na tablicę NumPy\n",
2022-10-14 11:38:56 +02:00
"# data.values # dla starszych wersji biblioteki Pandas\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.2. Wykresy biblioteka `matplotlib`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dokumentacja modułu `pyplot` biblioteki `matplotlib`: https://matplotlib.org/api/pyplot_api.html"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline # Jupyterowa \"magia\", żeby wykresy wyświetlały się inline, a nie w osobnym oknie"
]
},
{
"cell_type": "code",
2023-03-16 09:46:48 +01:00
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
2023-03-09 11:03:55 +01:00
"image/png": "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
"text/plain": [
2023-03-09 11:03:55 +01:00
"<Figure size 640x480 with 1 Axes>"
]
},
2023-03-09 11:03:55 +01:00
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"# Prosty wykres punktowy\n",
"# Litery 'ro' oznaczają, że dane zostaną przedstawione za pomocą czerwonych kółek:\n",
"# 'r' ('red') czerwone\n",
"# 'o' kółko\n",
"# Zobacz też: https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.plot([1, 2, 3, 4], [1, 4, 9, 16], \"ro\")\n",
"plt.axis([0, 5, 0, 20]) # opcjonalnie ustawiamy zakres osi wykresu\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show() # pokaż wykres\n"
]
},
{
"cell_type": "code",
2023-03-16 09:46:48 +01:00
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
2023-03-16 09:46:48 +01:00
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAGiCAYAAAALC6kfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAleElEQVR4nO3df3DU5YHH8c9mwy5B2A0/ZJPUBFJFUUFE0BilhUqmqWU8ablWnLRDW0cqF6wI1ZI7sqRZapR2rIc/oHqtcFOV6s1h1Vo8JphFbQwSQUFoxBNLzjahLc0uUNng5rk/vHyPJUES2LCbPO/XzM7w/ZHdJ89Ev+/Zfb6JyxhjBAAAYKGMVA8AAAAgVQghAABgLUIIAABYixACAADWIoQAAIC1CCEAAGAtQggAAFiLEAIAANYihAAAgLUIIQAAYK1eh9CWLVt0ww03KC8vTy6XS88++2zCcWOMgsGgcnNzlZWVpZKSEu3duzfhnIMHD6qsrEw+n0/Z2dm65ZZbdPjw4TP6RgAAAHqr1yF05MgRTZo0SQ8//HC3x1euXKlVq1ZpzZo1amho0DnnnKPS0lIdPXrUOaesrEzvvPOONm3apBdeeEFbtmzR/PnzT/+7AAAAOA2uM/mjqy6XSxs2bNDs2bMlffJuUF5enpYsWaLvf//7kqRIJKJAIKC1a9dq7ty52rNnjy655BK98cYbmjp1qiRp48aN+vKXv6z/+Z//UV5e3pl/VwAAAD2Qmcwn27dvn1paWlRSUuLs8/v9KioqUn19vebOnav6+nplZ2c7ESRJJSUlysjIUENDg77yla90ed5YLKZYLOZsd3R06ODBgxo5cqRcLlcyvwUAANBHjDE6dOiQ8vLylJGRHsuUkxpCLS0tkqRAIJCwPxAIOMdaWlo0evToxEFkZmrEiBHOOSeqqanRD3/4w2QOFQAApEhzc7POO++8VA9DUpJDqK9UVFRo8eLFznYkElFBQYGam5vl8/lSODIAANBT0WhU+fn5GjZsWKqH4khqCOXk5EiSWltblZub6+xvbW3V5Zdf7pxz4MCBhK/7+OOPdfDgQefrT+T1euX1ervs9/l8hBAAAP1MOi1rSeoHdIWFhcrJyVFtba2zLxqNqqGhQcXFxZKk4uJitbW1qbGx0Tln8+bN6ujoUFFRUTKHAwAA8Kl6/Y7Q4cOH9d577znb+/bt044dOzRixAgVFBRo0aJFWrFihcaNG6fCwkJVVlYqLy/PubPs4osv1pe+9CXdeuutWrNmjY4dO6aFCxdq7ty53DEGAADOql6H0LZt2/SFL3zB2e5cuzNv3jytXbtWd999t44cOaL58+erra1N06ZN08aNGzV48GDna5544gktXLhQM2fOVEZGhubMmaNVq1Yl4dsBAADouTP6PUKpEo1G5ff7FYlEWCMEAEA/kY7X7/S4iR8AACAFCCEAAGAtQggAAFiLEAIAANYihAAAgLUIIQAAYC1CCAAAWIsQAgAA1iKEAACAtQghAABgLUIIAABYixACAADWIoQAAIC1CCEAAGAtQggAAFiLEAIAANYihAAAgLUIIQAAYC1CCAAAWIsQAgAA1iKEAACAtQghAABgLUIIAABYixACAADWIoQAAIC1CCEAAGAtQgjASVXVVSkUDnV7LBQOqaqu6uwOCACSjBACcFJul1vBumCXGAqFQwrWBeV2uVM0MgBIjsxUDwBA+qqcXilJCtYFne3OCKqeUe0cB4D+ihAC8KmOj6EVr6xQe7ydCAIwYLiMMSbVg+itaDQqv9+vSCQin8+X6uEAVvCu8Ko93i6P26PYsliqhwOgH0rH6zdrhACcUigcciKoPd5+0gXUANDfEEIAPtXxa4Jiy2KqnlHd7QJqAOiPWCME4KS6Wxjd3QJqAOivCCEAJxU38W4XRndux008FcMCgKRhsTQAADgr0vH6zRohAABgLUIIAABYixACAADWIoQAAIC1CCEAAGAtQggAAFiLEAIAANYihAAAgLUIIQAAYC1CCAAAWIsQAgAA1iKEAACAtQghAABgLUIIAABYixACAADWIoQAAIC1CCEAAGAtQggAAFiLEAIAANYihAAAgLUIIQAAYC1CCAAAWIsQAgAA1iKEAACAtQghAABgLUIIAABYixACAADWSnoIxeNxVVZWqrCwUFlZWTr//PMVCoVkjHHOMcYoGAwqNzdXWVlZKikp0d69e5M9FABAGqqqq1IoHOr2WCgcUlVd1dkdEKyW9BC67777tHr1aj300EPas2eP7rvvPq1cuVIPPvigc87KlSu1atUqrVmzRg0NDTrnnHNUWlqqo0ePJns4AIA043a5FawLdomhUDikYF1Qbpc7RSODjTKT/YS/+93vdOONN2rWrFmSpLFjx+qpp57S1q1bJX3ybtADDzygZcuW6cYbb5Qk/fu//7sCgYCeffZZzZ07N9lDAgCkkcrplZKkYF3Q2e6MoOoZ1c5x4GxI+jtC11xzjWpra/Xuu+9Kkt566y29+uqruv766yVJ+/btU0tLi0pKSpyv8fv9KioqUn19fbfPGYvFFI1GEx4AgP6rcnqlqmdUK1gXlHeFlwhCyiQ9hJYuXaq5c+dq/PjxGjRokCZPnqxFixaprKxMktTS0iJJCgQCCV8XCAScYyeqqamR3+93Hvn5+ckeNgDgLKucXimP26P2eLs8bg8RhJRIegg9/fTTeuKJJ/Tkk0/qzTff1Lp16/STn/xE69atO+3nrKioUCQScR7Nzc1JHDEAIBVC4ZATQe3x9pMuoAb6UtLXCN11113Ou0KSNHHiRP3hD39QTU2N5s2bp5ycHElSa2urcnNzna9rbW3V5Zdf3u1zer1eeb3eZA8VAJAiJ64J6tyWxDtDOKuSHkJ///vflZGR+EaT2+1WR0eHJKmwsFA5OTmqra11wicajaqhoUELFixI9nAAAGmmu4XR3S2g7q2quiq5Xe5uvzYUDilu4qqaUXX6A8eAlPQQuuGGG/SjH/1IBQUFuvTSS7V9+3bdf//9+s53viNJcrlcWrRokVasWKFx48apsLBQlZWVysvL0+zZs5M9HABAmombeLcLozu34yZ+Ws/beVv+8c8lJYYXcCKXOf43HSbBoUOHVFlZqQ0bNujAgQPKy8vTzTffrGAwKI/HI+mTW+iXL1+uRx99VG1tbZo2bZoeeeQRXXjhhT16jWg0Kr/fr0gkIp/Pl8zhAwD6sZN95MYdaekhHa/fSQ+hsyEdJxIAkB4646dzETYRlD7S8fpNCAEABhzvCq9zR1psWSzVw8H/ScfrN390FQAwoHBbPnqDEAIADBjHrwmKLYs5v72aGMLJJP2uMQAAUqGvbsvHwEYIAQAGhL66LR8DG4ulAQDAWZGO12/WCAEAAGsRQgAAwFqEEAAAsBYhBAAArEUIAQAAaxFCAADAWoQQAACwFiEEAACsRQgBAABrEUIAAMBahBAAALAWIQQAAKxFCAEAAGsRQgAAwFqEEAAAsBYhBAAArEUIAQAAaxFCAADAWoQQAACwFiEEAACsRQgBAABrEUIAAMBahBAAALAWIQQAAKxFCAEAAGsRQgAAwFqEEAAAsBYhBAAArEUIAQAAaxFCAADAWoQQAACwFiEEAACsRQgBAABrEUIAAMBahBAAALAWIQQAAKxFCAEAAGsRQgAAwFqEEAAAsBYhBAAArEUIAQAAaxFCAADAWoQQAACwFiEEAACsRQgBAABrEUIAAMBahBAAALAWIQQAAKxFCAEAAGsRQgCAtFJVV6VQONTtsVA4pKq6qrM7IAxohBAAIK24XW4F64JdYigUDilYF5Tb5U7RyDAQZaZ6AAAAHK9yeqUkKVgXdLY7I6h6RrVzHEgGQggAkHaOj6EVr6xQe7ydCEKfcBljTKoH0VvRaFR+v1+RSEQ+ny/VwwEA9BHvCq/a4+3yuD2KLYulejg4Q+l4/WaNEAAgLYXCISeC2uPtJ11ADZwJQggAkHaOXxMUWxZT9YzqbhdQA2eKNUIAgLTS3cLo7hZQA8nQJ+8Iffjhh/rGN76hkSNHKisrSxMnTtS2bduc48YYBYNB5ebmKisrSyUlJdq7d29
"text/plain": [
2023-03-16 09:46:48 +01:00
"<Figure size 640x480 with 1 Axes>"
]
},
2023-03-16 09:46:48 +01:00
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Wykres danych wczytanych z pliku\n",
"\n",
"import matplotlib.pyplot as plt\n",
"import pandas as pd\n",
"\n",
"# Wczytanie danych\n",
2023-03-16 09:46:48 +01:00
"data = pd.read_csv(\"data1.csv\")\n",
"data_array = data.to_numpy()\n",
"\n",
"# Wybór kolumn do przedstawienia na wykresie\n",
"x = data_array[:, 0]\n",
"y = data_array[:, 5]\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.plot(x, y, \"gx\") # \"gx\" - zielone (Green) krzyżyki (x)\n",
"plt.axis([0, 600000, 0, 100]) # opcjonalnie ustawiamy zakres osi wykresu\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show() # pokaż wykres\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
2023-03-09 11:03:55 +01:00
"image/png": "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
"text/plain": [
2023-03-09 11:03:55 +01:00
"<Figure size 640x480 with 1 Axes>"
]
},
2023-03-09 11:03:55 +01:00
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# inicjalizacja\n",
"fig = plt.figure()\n",
"# dodanie \"podwykresu\" (zobacz: http://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.subplot )\n",
"ax = fig.add_subplot(111)\n",
"\n",
2022-10-14 11:38:56 +02:00
"ax.set_xlabel(\"x\") # opis osi x\n",
"ax.set_ylabel(\"y\") # opis osi y\n",
"ax.set_title(\"Wykres funkcji\") # tytuł wykresu\n",
"\n",
"x = np.arange(0.0, 10.0, 0.01) # x przebiega zakres od 0 do 10 co 0.01\n",
"\n",
"# zdefiniowanie wartości y w zależności od x\n",
2022-10-14 11:38:56 +02:00
"y = np.sin(2 * np.pi * x)\n",
"# spróbuj też inne funkcje:\n",
"# y = 2 * x**2 + 5 * x - 10\n",
"# y = np.sqrt(x)\n",
"\n",
2022-10-14 11:38:56 +02:00
"ax.plot(x, y, color=\"blue\", lw=2) # \"lw\" oznacza grubość linii (Line Width)\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show() # pokaż wykres\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Style wykresów"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
2022-10-14 11:38:56 +02:00
"image/png": "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
"text/plain": [
"<Figure size 720x576 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# Umieszczanie kilku układów współrzędnych i kilku wykresów na jednym rysunku\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# inicjalizacja zestawu wykresów\n",
2022-10-14 11:38:56 +02:00
"fig = plt.figure(figsize=(10, 8))\n",
"\n",
"# wygenerowanie danych\n",
"x = np.arange(0.0, 1.0, 0.025)\n",
2022-10-14 11:38:56 +02:00
"y1 = np.sin(2 * np.pi * x) + 5.0\n",
"y2 = np.sin(2 * np.pi * x) + 2.5\n",
"y3 = np.sin(2 * np.pi * x)\n",
"\n",
"# pierwszy wykres\n",
2022-10-14 11:38:56 +02:00
"ax1 = fig.add_subplot(3, 1, 1)\n",
"ax1.set_ylabel(\"y\")\n",
"ax1.set_title(\"pierwszy wykres\")\n",
"\n",
2022-10-14 11:38:56 +02:00
"ax1.plot(x, y1, color=\"red\", lw=2) # pierwsza krzywa - czerwona\n",
"ax1.plot(x, y2, color=\"green\", lw=2) # druga krzywa - zielona\n",
"ax1.plot(\n",
" x, y3, color=\"#002d69\", lw=2\n",
") # trzecia krzywa - kolor zdefiniowany szesnastkowo\n",
"\n",
"# drugi wykres\n",
2022-10-14 11:38:56 +02:00
"ax2 = fig.add_subplot(3, 1, 2)\n",
"ax2.set_ylabel(\"y\")\n",
"ax2.set_title(\"drugi wykres\")\n",
"\n",
2022-10-14 11:38:56 +02:00
"ax2.plot(x, y1, color=\"black\", lw=2, linestyle=\"--\") # pierwsza krzywa - kreskowana\n",
"ax2.plot(x, y2, color=\"blue\", lw=2, linestyle=\":\") # druga krzywa - kropkowana\n",
"ax2.plot(\n",
" x, y3, color=\"#ff0000\", lw=2, linestyle=\"-.\"\n",
") # trzecia krzywa - kropkowano-kreskowana\n",
"\n",
"# trzeci wykres\n",
2022-10-14 11:38:56 +02:00
"ax3 = fig.add_subplot(3, 1, 3)\n",
"ax3.set_ylabel(\"y\")\n",
"ax3.set_title(\"trzeci wykres\")\n",
"\n",
2022-10-14 11:38:56 +02:00
"ax3.plot(x, y1, color=\"brown\", marker=\"x\") # pierwsza krzywa - krzyżyki\n",
"ax3.plot(x, y2, color=\"purple\", marker=\"o\") # druga krzywa - kółka\n",
"ax3.plot(x, y3, color=\"orange\", marker=\"^\") # trzecia krzywa - trójkąty\n",
"\n",
"# dostosowanie odstępów pomiędzy wykresami\n",
2022-10-14 11:38:56 +02:00
"plt.subplots_adjust(wspace=0.2, hspace=0.4)\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show() # pokaż wykres\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy trójwymiarowe  linie"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
2022-10-14 11:38:56 +02:00
"image/png": "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
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib as mpl\n",
"from mpl_toolkits.mplot3d import Axes3D\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
2022-10-14 11:38:56 +02:00
"fig = plt.figure(figsize=(10, 8))\n",
"ax = fig.add_subplot(111, projection=\"3d\")\n",
"\n",
"theta = np.linspace(-4 * np.pi, 4 * np.pi, 50)\n",
"z = np.linspace(-2, 2, 50)\n",
"r = z**2 + 1\n",
"x = r * np.sin(theta)\n",
"y = r * np.cos(theta)\n",
"\n",
2022-10-14 11:38:56 +02:00
"ax.plot(x, y, z, label=\"krzywa parametryczna\")\n",
"ax.legend() # pokaż legendę wykresu\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show() # pokaż wykres\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy trójwymiarowe powierzchnie"
]
},
{
"cell_type": "code",
2022-10-14 16:11:34 +02:00
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
2022-10-14 16:11:34 +02:00
"image/png": "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
"text/plain": [
2022-10-14 16:11:34 +02:00
"<Figure size 1000x800 with 1 Axes>"
]
},
2022-10-14 16:11:34 +02:00
"metadata": {},
"output_type": "display_data"
}
],
"source": [
2022-10-14 11:38:56 +02:00
"from mpl_toolkits.mplot3d import (\n",
" Axes3D,\n",
") # niezbędne do rysowania powierzchni w 3 wymiarach\n",
"from matplotlib import cm\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"\n",
2022-10-14 11:38:56 +02:00
"fig = plt.figure(figsize=(10, 8))\n",
"ax = fig.add_subplot(111, projection=\"3d\")\n",
"\n",
"X = np.arange(-5, 5, 0.25)\n",
"Y = np.arange(-5, 5, 0.25)\n",
2022-10-14 11:38:56 +02:00
"X, Y = np.meshgrid(\n",
" X, Y\n",
") # wygenerowanie tablicy danych wejściowych dla wykresu trójwymiarowego\n",
"\n",
"# obliczenie wartości rzędnych\n",
2022-10-14 11:38:56 +02:00
"Z = np.sqrt(X**2 + Y**2)\n",
"# Spróbuj też innych funkcji\n",
2022-10-14 11:38:56 +02:00
"# Z = np.sin(np.sqrt(X**2 + Y**2))\n",
"# Z = np.cos(X + Y)\n",
"# Z = X**2 * Y\n",
"\n",
2022-10-14 11:38:56 +02:00
"surf = ax.plot_surface(\n",
" X, Y, Z, rstride=1, cstride=1, cmap=cm.jet, linewidth=0, antialiased=True\n",
")\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy kolumnowe"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
2022-10-14 11:38:56 +02:00
"image/png": "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
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# data: scores in five groups for men and women\n",
"N = 5\n",
2022-10-14 11:38:56 +02:00
"menMeans = [18, 35, 30, 35, 27]\n",
"menStd = [2, 3, 4, 1, 2]\n",
"womenMeans = [25, 32, 34, 20, 25]\n",
2022-10-14 11:38:56 +02:00
"womenStd = [3, 5, 2, 3, 3]\n",
"\n",
"# start creating figure\n",
2022-10-14 11:38:56 +02:00
"fig = plt.figure(figsize=(10, 8))\n",
"ax = fig.add_subplot(111)\n",
"\n",
"# necessary variables\n",
"LOCATIONS = np.arange(N) # the x locations for the groups\n",
2022-10-14 11:38:56 +02:00
"WIDTH = 0.35 # the width of the bars\n",
"\n",
"# the bars\n",
2022-10-14 11:38:56 +02:00
"rects_m = ax.bar(\n",
" LOCATIONS,\n",
" menMeans,\n",
" WIDTH,\n",
" color=\"blue\",\n",
" yerr=menStd,\n",
" error_kw=dict(elinewidth=2, ecolor=\"red\"),\n",
")\n",
"\n",
"rects_f = ax.bar(\n",
" LOCATIONS + WIDTH,\n",
" womenMeans,\n",
" WIDTH,\n",
" color=\"red\",\n",
" yerr=womenStd,\n",
" error_kw=dict(elinewidth=2, ecolor=\"blue\"),\n",
")\n",
"\n",
"# axes and labels\n",
"ax.set_xlim(-WIDTH, len(LOCATIONS))\n",
"ax.set_ylabel(\"Scores\")\n",
"ax.set_title(\"Scores by group and gender\")\n",
2022-10-14 11:38:56 +02:00
"xTickMarks = [\"Group {}\".format(i) for i in range(1, 6)]\n",
"ax.set_xticks(LOCATIONS + WIDTH)\n",
"xtickNames = ax.set_xticklabels(xTickMarks)\n",
"plt.setp(xtickNames, rotation=45, fontsize=10)\n",
"\n",
"# add a legend\n",
2022-10-14 11:38:56 +02:00
"ax.legend((rects_m[0], rects_f[0]), (\"Men\", \"Women\"))\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy punktowe"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
2022-10-14 11:38:56 +02:00
"image/png": "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
"text/plain": [
"<Figure size 1080x504 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
2022-10-14 11:38:56 +02:00
"fig = plt.figure(figsize=(15, 7))\n",
"\n",
"# left panel\n",
"N = 1000\n",
"ax1 = fig.add_subplot(121)\n",
"\n",
"x = np.random.randn(N)\n",
"y = np.random.randn(N)\n",
2022-10-14 11:38:56 +02:00
"ax1.scatter(x, y, color=\"blue\", s=10, edgecolor=\"none\")\n",
"# make axes square\n",
2022-10-14 11:38:56 +02:00
"ax1.set_aspect(1.0 / ax1.get_data_ratio())\n",
"\n",
"# right panel\n",
"ax2 = fig.add_subplot(122)\n",
2022-10-14 11:38:56 +02:00
"props = dict(alpha=0.5, edgecolors=\"none\")\n",
"\n",
"M = 200\n",
2022-10-14 11:38:56 +02:00
"colors = [\"blue\", \"green\", \"magenta\", \"cyan\"]\n",
"handles = []\n",
"\n",
"for color in colors:\n",
" x = np.random.randn(M)\n",
" y = np.random.randn(M)\n",
2022-10-14 11:38:56 +02:00
" size = np.random.randint(25, 200)\n",
" handles.append(ax2.scatter(x, y, c=color, s=size, **props))\n",
"\n",
2022-10-14 11:38:56 +02:00
"# ax2.set_ylim([-5,10])\n",
"# ax2.set_xlim([-5,10])\n",
"\n",
"ax2.legend(handles, colors)\n",
"ax2.grid(True)\n",
2022-10-14 11:38:56 +02:00
"ax2.set_aspect(1.0 / ax2.get_data_ratio())\n",
"\n",
2022-10-14 11:38:56 +02:00
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Histogramy"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
2022-10-14 11:38:56 +02:00
"image/png": "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
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"fig = plt.figure(figsize=(10, 8))\n",
"ax = fig.add_subplot(111)\n",
"\n",
"x = np.random.normal(0, 1, 1000)\n",
"num_bins = 50\n",
2022-10-14 11:38:56 +02:00
"ax.hist(x, num_bins, color=\"green\", alpha=0.8)\n",
"plt.show()\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.3. Wizualizacja danych - biblioteka `seaborn`"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Biblioteka `seaborn` (https://seaborn.pydata.org) to oparta o `matplotlib` biblioteka do wizualizacji danych."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Przykład 1\n",
"\n",
"Wizualizacja zbioru danych *Iris* poprzez rzutowanie go na różne osie:"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.PairGrid at 0x20279e6c0d0>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-10-14 11:38:56 +02:00
"image/png": "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
"text/plain": [
"<Figure size 859.25x432 with 20 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import seaborn\n",
"\n",
2022-10-14 11:38:56 +02:00
"data_iris = pd.read_csv(\"../wyk/iris.csv\")\n",
"\n",
"seaborn.pairplot(\n",
" data_iris,\n",
2022-10-14 11:38:56 +02:00
" vars=[c for c in data_iris.columns if c != \"Gatunek\"],\n",
" hue=\"Gatunek\",\n",
" height=1.5,\n",
" aspect=1.75,\n",
")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Przykład 2\n",
"\n",
"Rozkład różnych typów zabudowy w zbiorze danych *Mieszkania4* pod względem roku budowy i powierzchni lokalu"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<seaborn.axisgrid.FacetGrid at 0x202002cc580>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
2022-10-14 11:38:56 +02:00
"image/png": "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
"text/plain": [
"<Figure size 554.875x360 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import pandas as pd\n",
"import seaborn\n",
"\n",
2022-10-14 11:38:56 +02:00
"data = pd.read_csv(\"../wyk/mieszkania4.tsv\", sep=\"\\t\")\n",
"\n",
2022-10-14 11:38:56 +02:00
"data = data[(data[\"Powierzchnia w m2\"] < 10000) & (data[\"cena\"] < 10000000)]\n",
"\n",
2022-10-14 11:38:56 +02:00
"seaborn.relplot(data=data, x=\"Rok budowy\", y=\"Powierzchnia w m2\", hue=\"Typ zabudowy\")\n"
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
2023-03-09 11:03:55 +01:00
"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",
2022-11-03 15:37:40 +01:00
"version": "3.10.6"
},
"livereveal": {
"start_slideshow_at": "selected",
"theme": "amu"
2022-10-14 11:38:56 +02:00
},
"vscode": {
"interpreter": {
"hash": "916dbcbb3f70747c44a77c7bcd40155683ae19c65e1c03b4aa3499c5328201f1"
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}