umz21/lab/02_Wczytywanie_i_prezentowanie_danych.ipynb

812 lines
538 KiB
Plaintext
Raw Normal View History

{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Uczenie maszynowe 2019/2020 laboratoria\n",
"### 9/10 marca 2020\n",
"# 2. Wczytywanie i prezentowanie danych"
]
},
{
"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": 1,
"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",
"with open('data1.csv') as data_file:\n",
" reader = csv.reader(data_file)\n",
" for row in reader:\n",
" print(row)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"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",
"with open('data1.csv') as data_file:\n",
" reader = csv.DictReader(data_file)\n",
" for row in reader:\n",
" print(dict(row))"
]
},
{
"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",
"with open('data1.tsv') as data_file:\n",
" reader = csv.reader(data_file, delimiter='\\t')\n",
" for row in reader:\n",
" print(row)"
]
},
{
"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",
"with open('data1.tsv') as data_file:\n",
" reader = csv.DictReader(data_file, delimiter='\\t')\n",
" for row in reader:\n",
" print(dict(row))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Biblioteka `pandas`"
]
},
{
"cell_type": "code",
"execution_count": 5,
"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",
"data = pd.read_csv('data1.csv')\n",
"print(data)"
]
},
{
"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",
"data = pd.read_csv('data1.tsv', sep='\\t')\n",
"print(data)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"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"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 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"
]
},
{
"cell_type": "code",
"execution_count": 9,
"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",
"# 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",
"plt.plot([1,2,3,4], [1,4,9,16], 'ro')\n",
"plt.axis([0, 5, 0, 20]) # opis osi wykresu\n",
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "code",
"execution_count": 10,
"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 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",
"ax.set_ylabel('volts') # opis osi y\n",
"ax.set_title('a sine wave') # tytuł wykresu\n",
"\n",
"t = np.arange(0.0, 1.0, 0.01)\n",
"s = np.sin(2*np.pi*t)\n",
"line = ax.plot(t, s, color='red', lw=2)\n",
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Style wykresów"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 720x576 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# inicjalizacja zestawu wykresów\n",
"fig = plt.figure(figsize=(10,8))\n",
"\n",
"# wygenerowanie danych\n",
"t = np.arange(0.0, 1.0, 0.01)\n",
"s = np.sin(2*np.pi*t)\n",
"\n",
"# pierwszy wykres\n",
"ax1 = fig.add_subplot(3,1,1)\n",
"ax1.set_ylabel('volts')\n",
"ax1.set_title('a sine wave')\n",
"\n",
"line1 = ax1.plot(t, s+5.0, color='blue', lw=2)\n",
"line2 = ax1.plot(t, s+2.5, color='red', lw=2)\n",
"line3 = ax1.plot(t, s, color='orange', lw=2)\n",
"\n",
"# drugi wykres\n",
"ax2 = fig.add_subplot(3,1,2)\n",
"ax2.set_ylabel('volts')\n",
"ax2.set_title('a sine wave')\n",
"\n",
"line1 = ax2.plot(t, s+5.0, color='black', lw=2,linestyle=\"--\")\n",
"line2 = ax2.plot(t, s+2.5, color='black', lw=2,linestyle=\"-.\")\n",
"line3 = ax2.plot(t, s, color='#000000', lw=2,linestyle=\":\")\n",
"\n",
"# trzeci wykres\n",
"ax3 = fig.add_subplot(3,1,3)\n",
"ax3.set_ylabel('volts')\n",
"ax3.set_title('a sine wave')\n",
"\n",
"line1 = ax3.plot(t,s+5.0, color='blue', marker=\"+\")\n",
"line2 = ax3.plot(t,s+2.5, color='red', marker=\"o\")\n",
"line3 = ax3.plot(t,s, color='orange', marker=\"^\")\n",
"\n",
"# dostosowanie odstępów pomiędzy wykresami\n",
"plt.subplots_adjust(wspace=0.2,hspace=.4)\n",
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy trójwymiarowe  linie"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHBCAYAAABt62HAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOydeZhb5X3vv9p3zb7P2DNjezZ7vI2HcYAAacEQB8hCCPAkJZSkFHIh3KZJmi6XEG63S8ltSElJSggkvS0lgSQ0FNI0KWQhYI+NwdgeafZFM5p90dF+pHPuH8N7fKTRriMdSfN+nsdPwmg5r3Sk8371274KnudBoVAoFAqFUsoo5V4AhUKhUCgUSq6hgodCoVAoFErJQwUPhUKhUCiUkocKHgqFQqFQKCUPFTwUCoVCoVBKHip4KBQKhUKhlDzqJLfTnnUKhUKhUCjFgiLeDTTCQ6FQKBQKpeShgodCoVAoFErJQwUPhUKhUCiUkocKHgqFQqFQKCVPsqJlCoVCoVCKCpZl4XA44Pf75V4KJUfo9Xo0NzdDo9Gk/BhFEvNQ2qVFoVAolKJiYmICFosFVVVVUCjiNu1QihSe57GysgKGYdDW1hZ9M+3SolAoFMr2wO/3U7FTwigUClRVVaUdwaOCh0KhUCglBxU7pU0m55cKHgqFQqFQtglPP/005ubm4t7+wAMP4Oc//3keV5Q/aNEyhUKhUCgFRCgUglqdm+356aefxr59+9DY2LjltnA4jIceeignx40ml68xHjTCQ6FQKBSKhExOTqKrqwuf/OQnsX//fnz0ox+F1+sFADz00EPo7+/Hvn37cNddd4E0Dl111VX4sz/7M1x55ZV49NFH8ZOf/AQDAwM4dOgQrr76aiwsLAAAHnzwQXzyk5/EsWPH0Nraih/+8If44he/iN7eXlx33XVgWRYAcPr0aVx55ZXo6+vDtddeC6fTieeeew6nTp3Cxz/+cRw8eBA+nw+tra146KGHcPnll+MHP/gB7rjjDjz33HMAgMHBQVx66aU4cOAALrnkEjAMs+W1Pvzww+jt7cWBAwfwpS99SXgtp06dAgAsLy+jtbUVwKbYuvnmm3HDDTfg2LFjuOWWW/DSSy8Jz3XHHXfg+eefRzgcxhe+8AX09/dj//79+Na3viXJeaERHgqFQqGULF/5yXlcmHNJ+pw9jVZ8+Ya9Ce9jt9vx5JNP4rLLLsOdd96Jf/zHf8TnP/953HvvvXjggQcAAL/3e7+HF198ETfccAMAYH19Hb/85S8BAGtra3jjjTegUCjw7W9/Gw8//DC++tWvAgDGxsbwyiuv4MKFC3jPe96D559/Hg8//DA+/OEP4z/+4z/wgQ98APfddx9eeOEF1NTU4Nlnn8Wf//mf4zvf+Q4ee+wxPPLIIzhy5IiwVr1ej9/85jcAgJ/+9KcAgGAwiFtuuQXPPvss+vv74XK5YDAYIl7jyy+/jB//+Mc4ceIEjEYjVldXk753r7/+Os6ePYvKykr86Ec/wrPPPovjx48jGAziF7/4BR5//HE8+eSTKCsrw+DgIAKBAC677DIcO3YsVkdWWlDBQ6FQKBSKxLS0tOCyyy4DAHziE5/A17/+dXz+85/HK6+8gocffhherxerq6vYu3evIHhuueUW4fEOhwO33HILnE4ngsFgxGb//ve/HxqNBr29vQiHw7juuusAAL29vZicnITdbse5c+dwzTXXANhMVTU0NMRdq/i4BLvdjoaGBvT39wMArFbrlvv8/Oc/x+///u/DaDQCACorK5O+L9dcc41wv/e///347Gc/i0AggJ/+9Ke44oorYDAY8LOf/Qxnz54VIk0bGxsYGRmhgodCoVAolHgki8TkiuguIoVCAb/fj8985jM4deoUWlpa8OCDD0a0VptMJuH/33ffffjc5z6HG2+8Ea+++ioefPBB4TadTgcAUCqV0Gg0wrGUSiVCoRB4nsfevXvx+uuvp7RW8XEJPM8n7YSKdx+1Wg2O4wBgS+u4+Fh6vR5XXXUV/vM//xPPPvssbrvtNuF5/+Ef/gHXXnttSutPFVrDQ6FQKBSKxExPTwuC45lnnsHll18ubP7V1dVwu91CBCMWGxsbaGpqAgB897vfTevYnZ2dWFpaEo7PsizOnz8PALBYLDFrcaLp6urC3NwcBgcHAQAMwyAUCkXc59ixY/jOd74j1CeRlFZraytOnz4NAAlfIwDceuuteOqpp/DrX/9aEDjXXnstHn/8caEeaXh4GB6PJ6XXnggqeCgUCoVCkZju7m5897vfxf79+7G6uop77rkH5eXl+IM/+AP09vbiQx/6kJAuisWDDz6Im2++Ge9973tRXV2d1rG1Wi2ee+45/Mmf/AkOHDiAgwcP4re//S2AzcLgu+++WyhaTvQczz77LO677z4cOHAA11xzzZZozXXXXYcbb7wRR44cwcGDB/HII48AAD7/+c/j8ccfx6WXXorl5eWEaz127Bh+9atf4eqrr4ZWqwUAfPrTn0ZPTw8OHz6Mffv24Q//8A+3iK1MoNYSFAqFQikphoaG0N3dLdvxJycncf311+PcuXOyrWE7EOc8U2sJCoVCoVAo2xcqeCgUCoVCkZDW1lYa3SlAqOChUCgUCoVS8lDBQ6FQKJSSI0l9KqXIyeT8UsFDoVAolJJCr9djZWWFip4Shed5rKysQK/Xp/U42qVFoVAolJKCZVk4HI4tbdSU0kGv16O5uRkajSb6prhdWlTwUCgUCoVCKRVoWzqFQqFQKJTtCxU8FAqFQqFQSh4qeCiUIoPneXAcRwsyKRQKJQ2oWzqFUkRwHAeWZeHz+aBQKKBWq6FSqYR/CoUiqcMxhUKhbEdo0TKFUgTwPA+WZREOhwEAwWAQCoVCiPYQkaNQKKBSqSKEEBVBFAplG0G7tCiUYoTneYRCIcEpmAgXInhi3Z/8I/+tVCojRJBSqYRSqaQiiEKhlCJxL2w0pUWhFCA8zyMcDiMUCoHn+YgoTaIfKbGiOeLnEqNSqaDRaKgIolAo2wIa4aFQCgxSp0NSVWIRwnEcHA4H5ufnYTKZYLFYYLFYYDQa0xIrJAo0Pz+PcDiMxsZGABAiQWq1moogCoVSjNAID4VS6HAch1AohHA4LAgdsdhYWVnB8PAwqqqq0NnZCZ/PB5fLheXlZXi9XqjValgsFpjNZlit1oQiKPr5VSqVUA8UCATg9/sjbotOiVERRKFQig0a4aFQZCZWnY5YUHg8HtjtdiiVSnR0dMBgMMSs4WFZFgzDwO12w+Vywev1QqVSCVEgEglSKi9Oo5ifn0cwGMSOHTvirk1cE0RQKpVCJIiKIAqFUkDQomUKpdBIVKcDbAqYsbExrK+vo7OzExUVFcLj4hUtRxMKhcAwjPDP6/VCoVAIAigQCECpVGLnzp1prTuZCCKF0lQEUSiUPEMFD4VSKBCxkKxOZ2ZmBq2trWhsbIy4PR3BE4twOCxEgZaWluDz+aDT6WA2mwUhZDKZoFKp0n5N8URQ9KwgCoVCyRFU8FAohUCigmQAWF5exvDwMGpqatDW1ga1emuZXbaCR8zCwgJ8Ph9aWlrgdruFSJDH4wHP8xEiyGw2py2CgM3XTCD1QdXV1Vva5CkUCkUCaNEyhSInyep03G437HY7VCoVDh06BIPBkJd1iQuTy8rKUFZWJtzGcZwggpxOJ9xuN3iej+gOM5vNMUVZ9HMTgsEglpaWUFZWFiHaxFOjSUqMDkykUChSQgUPhZJDSJ0Oy7IAtgodlmUxOjqKjY2NiDqdfEGmNcdCqVTCarXCarUKf+M4Dh6PBwzDYGFhAWNjYwiHwxEiyGKxpCWCyPFDoVBcEUSnRlMolGyhgodCyQGkxZtl2ZgFyRzHYWZmBg6HA21tbejq6iqKjVypVAqihsBxHLxeLxiGwdLSEsbHxxEOh2E0GiNEkEajifmcYoFDUluJRBC1zqBQKJlAa3goFIlJVqeztLSEkZGRhHU6iZCyhmd5eRkulwvt7e1ZP5cYnucFEUT+hUIhqNVqcByHtrY2WCwWaLXatJ+XWmdQKJQE0KJlCiX
"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",
"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",
"ax.plot(x, y, z, label='parametric curve')\n",
"ax.legend() # pokaż legendę wykresu\n",
"\n",
"plt.show() # pokaż wykres"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy trójwymiarowe powierzchnie"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjwAAAHBCAYAAABt62HAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOy9eXAk+XXf+cmj7gM3Gt2N6WvQ58yInOE0Z0YRoriUSa7HuyNFSBsmIyRSGjNEMSibIVshjyWKq6FIS7S9ksUjdIQclMKWONTKuybFJRkjixqKuoack3M00OhuNK5Go3FVVdad1/6RlYWsqqxCFVAACujfJwLRjURVXlWV+a33vu89ybZtBAKBQCAQCA4z8n7vgEAgEAgEAsFuIwSPQCAQCASCQ48QPAKBQCAQCA49QvAIBAKBQCA49AjBIxAIBAKB4NAjBI9AIBAIBIJDj7rF30XNukAgEAgEgoOC1OwPIsIjEAgEAoHg0CMEj0AgEAgEgkOPEDwCgUAgEAgOPULwCAQCgUAgOPQIwSMQCAQCgeDQIwSPQCAQCASCQ48QPAKBQCAQCA49QvAIBAKBQCA49AjBIxAIBAKB4NAjBI9AIBAIBIJDjxA8AoFAIBAIDj1C8AgEAoFAIDj0CMEjEAgEAoHg0CMEj0AgEAgEgkOPEDwCgUAgEAgOPULwCAQCgUAgOPQIwSMQCAQCgeDQIwSPQCAQCASCQ48QPAKBQCAQCA49QvAIBAKBQCA49AjBIxAIBAKB4NAjBI9AIBAIBIJDjxA8AoFAIBAIDj1C8AgEAoFAIDj0CMEjEAgEAoHg0CMEj0AgEAgEgkOPEDwCwQHDtm0sy8K27f3eFYFAIDgwqPu9AwKBoH0sy0LXdQqFApIkoaoqiqJUfyRJQpKk/d5NgUAg6DmkLb4liq+QAkEPYNs2uq5jmiYA5XIZSZKq0R5X5EiShKIoNUJIiCCBQHAX0fRiJwSPQNDD2LaNYRgYhgFQFS6u4PF7vPvj/i7Lco0IkmUZWZaFCBIIBIeRphc2kdISCHoQ27YxTRPDMLBtuyZK0+pLil80x7suL4qiEAgEhAgSCAR3BSLCIxD0GK5Px01V+QmYZhGedqmPBLm4kSBVVYUIEggEBxGR0hIIeh3LsjAMA9M0azw5XmzbZnFxkVu3bhGPx0kkEiQSCSKRyI6FiVcEuVEloOoF8qbEhAgSCAQ9ihA8AkGv4ufT8RMU6+vrTE1NMTAwwNjYGIVCAU3T0DSNQqGAqqpVAZRIJIhGo10VQV5kWa5GgoQIEggEPYQQPAJBr9HKp+Mln88zNTWFbducP3+eaDTqm9Iql8tks1kymQzZbJZ8Po+iKA0iSJZ31n6rHRHkGqWFCBIIBHuMEDwCQa/gioVWPh0AwzC4fv066+vrnDt3jqGhoerz2/Xw6LpejQJpmlYVQd50WCwW66oIMk2TGzducPbs2aoIqu8VJBAIBLuEqNISCHqBekOyn9BwfTqzs7OcOHGCc+fObVskBAIBBgcHGRwcrC4zDKMqgObm5sjlcsiyXBMJ6lQE1VeR5fP56vPL5XLNsfl5gnYquAQCgWArhOARCPaATn06g4ODvP3tbycQCHR9X1RVZWBggIGBgeoywzDIZrNomsb8/Dy5XA5JkhoiQYqibLl+tyGi1/Ts4kaUdV2viVJ5u0a7KTHRMFEgEHQTIXgEgl3ETfHoug40FzquTwfgLW95C9FodE/3U1VV+vv76e/vry4zTbMqghYXF8lmswA1Iigej7clglxaiSDDMJqKINE1WiAQ7BQheASCXcAd+aDrOt/73vd46KGHUNXGj1szn04voCgKfX199PX1VZeZpkkul0PTNJaWlshms9i2TSwWqzFGd4JX4LiprVYiSIzOEAgE20EIHoGgy9T7dPwKA2zbZmFhgbm5uR37dPYSRVFIJpMkk8nqMsuyqiJoeXkZTdPIZrO88cYbNb4gP8HXDD8RBI1do8XoDIFA0C5C8AgEXaKZT0eWZSzLqj5ubW2Nq1evMjg4yCOPPNKREOhFvIZncATQiy++yMmTJ9E0jZWVFW7cuIFpmkSj0RoR1KlHSYzOEAgE2+VgX2kFgh5gK5+OG+XZb5/OXuIanuPxOEePHgU2q7c0TWNtbY2bN29iGAaRSKRGBAWDwY635SeCLMuiWCzWLBejMwSCuxcheASCbeL16bRqHGjbNteuXSOTyXTNp3MQb9KSJBGLxYjFYoyNjQHOuSkUCmQyGTY2NpidnUXX9RoRlEwmuyqCSqUSxWJRjM4QCO4yhOARCLZBu/10FhYWSKfTDA4OcunSJXEjrUOSJKLRaE20yxVB2WyWVCrF/Pw8uq4TDoeJx+Mkk8lqJKiT89lKBJmmWe0XlM1mUVWVZDIpRJBAcIgQgkcg6IB2++l4fTqDg4OMjY3dNTfMZkbtTp7viqDR0VHAOe/FYhFN00in0ywsLFAqlQiHwzXpsFAotGMRlEqlCAaDhMPhmqaJYnSGQHCwEYJHIGiDdoWOn0/n1Vdf3ZEAaLY/d9PNVpIkIpEIkUikRgSVSqVq1+hbt25RKpUIBoM1IigcDnd8rlxB4+KOzSiXy74iSIzOEAh6HyF4BIIWtDvgU9d1bty4wfr6OufPn68Z5bDTiIfAH0mSCIfDhMNhRkZGqsu9Iuj27dsUi0UCgUCNCIpEIl1Jh4EYnSEQHBSE4BEImtCJT2dubo6TJ0/69tOpL0sX7C6hUIhQKMTw8HB1WblcroqgO3fuUCgUUFW1YZJ8/ViMVojRGQLBwUIIHoGgDneSuWmawNY+naGhoZb9dHYrwtOraa1e3KdgMMjQ0FBNhZx3kvzq6mp1krxt21UBFI1GOx6iCmJ0hkDQiwjBIxBUaNenk8vlmJqaQpbltvrpdFvwuPsl0mQ7w2+SvK7rTE9PY5oms7Oz5HI5FEVpGKK6HREkRmcIBPuLEDyCu55OfDrXr18nlUpx7ty5mhtlKyRJEimtA0IgECASiRCPx6u+oHYmycfj8R2LIBCjMwSC3UQIHsFdTTs+HcuyWFhYYH5+npMnT3L+/PmObjayLItozAGiPlW41ST5hYUFcrkcsDlJPplMEovFOpokD2J0hkCwmwjBI7gr8fp03JvMTnw6rRDpp8NHq0nymUyGxcVFcrlcdZK82ywxHo93TQSJ0RkCQWcIwSO4q9gtn04rhOA5WGzXDN5skrwbCVpaWiKbzVZFkDcd1qmQbiWCNE3j2rVrXLp0qbpfYnSGQCAEj+AuwU0LzM3NMTAw0LQPi9enc/78eQYGBna8bVGWfvciy7KvCMrlcmiaxvLyMtevX8c0zRoRlEgkti2CXIHtVpzVj84AIYIEdydC8AgOPV6fzvr6OolEouHi7vXpnDp1qmOfTitEhOdgsdvl/rIsV0WNi2VZ1UnyKysr3LhxA9M0iUajNSIoEAh0tP/tzg9z90uMzhAcZoTgERxaLMvCMIwan45ftGV1dZXp6WmGh4e37dNpRbcFj67rzM7OVgdcdlomLeg9ZFkmHo8Tj8c5evQo4AgTVwStra1x8+ZNDMOomSTvDlH1spVgayaCxOgMwWFHCB7BoaOVT8creHK5HJOTkyiKwlvf+lYikciu7E+3Ulrers5Hjx7FNE3m5+fJZrM1UYNkMtlxwzzBJr3S0FGSJGKxGLFYjLGxMWBzkrymaWxsbDA3N0e5XK4RQdtJT4nRGYK7ASF4BIeGdvrpyLJMuVzmypUrpNPprvl0WtGNCM/GxgaTk5MMDAzwyCOPVNMS7vG5vWIymUxNwzxvJCAWi/XEjVywfbyT5I8cOQI0TpLf2Nggn8/z6quv7niSPIjRGYLDgxA8ggOPG45vp5+OO1ByYmKCCxcu7MkFeSeCp1gsMjU1hWEY/MAP/ACxWAxwbjhe/HrFGIZRHZ3gJ4LcSJC4KdXSKxGedqmfJO+WxZ8+fbpmknyxWCQUCu1okrwYnSE4yAjBIzjQtNM4EDZ9OoqicPbsWY4dO7Zn+yhJUnUuV7uYpsnNmzdZXl5mYmKC0dHRjrerqioDAwM1ESxd16uRoJmZGfL
"text/plain": [
"<Figure size 720x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"from mpl_toolkits.mplot3d import Axes3D # 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",
"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",
"X, Y = np.meshgrid(X, Y) # wygenerowanie tablicy danych wejściowych dla wykresu trójwymiarowego\n",
"R = np.sqrt(X**2 + Y**2)\n",
"Z = np.sin(R) # obliczenie wartości rzędnych\n",
"\n",
"surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=cm.jet,\n",
" linewidth=0, antialiased=True)\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy kolumnowe"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"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",
"menMeans = [18, 35, 30, 35, 27]\n",
"menStd = [2, 3, 4, 1, 2]\n",
"womenMeans = [25, 32, 34, 20, 25]\n",
"womenStd = [3, 5, 2, 3, 3]\n",
"\n",
"# start creating figure\n",
"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",
"WIDTH = 0.35 # the width of the bars\n",
"\n",
"# the bars\n",
"rects_m = ax.bar(LOCATIONS, menMeans, WIDTH,\n",
" color='blue',\n",
" yerr=menStd,\n",
" error_kw=dict(elinewidth=2,ecolor='red'))\n",
"\n",
"rects_f = ax.bar(LOCATIONS+WIDTH, womenMeans, WIDTH,\n",
" color='red',\n",
" yerr=womenStd,\n",
" error_kw=dict(elinewidth=2,ecolor='blue'))\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",
"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",
"ax.legend( (rects_m[0], rects_f[0]), ('Men', 'Women') )\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wykresy punktowe"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"data": {
"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",
"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",
"ax1.scatter(x, y, color='blue', s=10, edgecolor='none')\n",
"# make axes square\n",
"ax1.set_aspect(1. / ax1.get_data_ratio()) \n",
"\n",
"# right panel\n",
"ax2 = fig.add_subplot(122)\n",
"props = dict(alpha=0.5, edgecolors='none')\n",
"\n",
"M = 200\n",
"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",
" size = np.random.randint(25,200)\n",
" handles.append(ax2.scatter(x, y, c=color, s=size, **props))\n",
"\n",
"#ax2.set_ylim([-5,10])\n",
"#ax2.set_xlim([-5,10])\n",
"\n",
"ax2.legend(handles, colors)\n",
"ax2.grid(True)\n",
"ax2.set_aspect(1./ax2.get_data_ratio())\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Histogramy"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"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",
"ax.hist(x, num_bins, color='green', alpha=0.8)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Zadania"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Zadania podstawowe"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Zadanie 2.1 (2 punkty)\n",
"\n",
"Wybierz dwie dowolne kolumny (z wyjątkiem pierwszej) z pliku *data2.csv*. Przedstaw zależność między tymi danymi na wykresie punktowym (wartości z jednej kolumny powinny znaleźć się na jednej osi, a wartości z drugiej kolumny na drugiej osi)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Zadanie 2.2 (2 punkty)\n",
"\n",
"Wygeneruj wykres funkcji $y = f(x) = (a - 4) \\, x^2 + (b - 5) \\, x + (c - 6)$, gdzie $a, b, c$ to trzy ostatnie cyfry Twojego numeru indeksu. Pamiętaj o opisaniu osi wykresu ($x$ oraz $y$)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Zadania zaawansowane"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Zadanie 2.2a (1 punkt)\n",
"\n",
"Na wykresie z zadania 2.2 przedstaw dodatkowo wykres funkcji $y = g(x) = \\frac{e^x}{e^x + 1}$. Linie przestawiające funkcje $y = f(x)$ i $y = g(x)$ powinny znaleźć się na tym samym wykresie, ale powinny różnić się kolorami. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Zadanie 2.3 (1 punkt)\n",
"\n",
"Stwórz trójwymiarowy (pownierzchniowy) wykres funkcji $f(x,y) = -(x^2 + y^3)$.\n",
"\n",
"Wykres powinien przedstawiać powierzchnię $z = -(x^2 + y^3)$."
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"kernelspec": {
"display_name": "Python 3",
"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.8.3"
},
"livereveal": {
"start_slideshow_at": "selected",
"theme": "amu"
}
},
"nbformat": 4,
"nbformat_minor": 4
}