Files
cursopython2023/aula195-2.ipynb
2023-02-15 08:09:47 -03:00

613 lines
44 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "658785a0",
"metadata": {},
"source": [
"# Este é um exemplo de Notebook\n",
"\n",
"<p>Você pode criar parágrafos simplesmente escrevendo o texto como preferir.</p>\n",
"\n",
"Para códigos, adicione <code>&#96;</code> antes e <code>&#96;</code> depois para códigos de uma linha, e <code>&#96;&#96;&#96;</code> antes e <code>&#96;&#96;&#96;</code> depois para códigos de várias linhas. **Exemplo de uma linha:** `print(123)`.\n",
"\n",
"**Exemplo de várias linhas:**\n",
"\n",
"```python\n",
"lista = [\n",
" {'nome': 'Luiz', 'sobrenome': 'miranda'},\n",
" {'nome': 'Maria', 'sobrenome': 'Oliveira'},\n",
" {'nome': 'Daniel', 'sobrenome': 'Silva'},\n",
" {'nome': 'Eduardo', 'sobrenome': 'Moreira'},\n",
" {'nome': 'Aline', 'sobrenome': 'Souza'},\n",
"]\n",
"```\n",
"\n",
"## Negrito e itálico\n",
"\n",
"* \\** e \\** - **Negrito**\n",
"* \\* e \\* - *Itálico*\n",
"\n",
"## Blockquote\n",
"\n",
"Responder as perguntas dos coleguinhas, pode te ajudar a aprender muito mais. \n",
"\n",
"> If you can't explain it simply, you don't understand it well enough.\n",
"> Albert Einstein\n",
"\n",
"## Listas\n",
"\n",
"Aqui uma lista ordenada:\n",
"\n",
"1. Albert Einstein\n",
"2. Carl Sagan\n",
"3. Guido van Rossum\n",
"\n",
"Aqui está uma lista não ordenada:\n",
"\n",
"- Albert Einstein\n",
"- Carl Sagan\n",
"- Guido van Rossum\n",
"\n",
"## Imagem e links\n",
"\n",
"Olha só:\n",
"\n",
"![A logo do Python](https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg)\n",
"\n",
"A imagem acima está [neste link](https://upload.wikimedia.org/wikipedia/commons/c/c3/Python-logo-notext.svg).\n",
"\n",
"## Tabela\n",
"\n",
"Abaixo uma tabela HTML:\n",
"\n",
"| Aqui temos uma tabela | Com mais uma coluna |\n",
"|-----------------------|---------------------|\n",
"| Aqui temos uma linha | Outra coluna |\n",
"| Aqui temos uma linha | Outra coluna |\n",
"| Aqui temos uma linha | Outra coluna |\n",
"| Coluna | Outra |\n",
"\n",
"## Abaixo uma linha horizontal\n",
"\n",
"a\n",
"\n",
"---\n",
"\n",
"b\n",
"\n",
"## HTML puro\n",
"\n",
"<div style=\"padding: 30px; margin: 10px; background: #ccc;\">\n",
"<p>Aqui vemos um &lt;p&gt;. Você pode usar qualquer tag HTML normal.</p>\n",
"</div>\n"
]
},
{
"cell_type": "markdown",
"id": "e1e178fb",
"metadata": {},
"source": [
"# Renderizando HTML"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "e5592d45",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"<span style=\"color: red;\">\n",
"<b>ISSO É HTML</b><br />\n",
"Este texto deve estar vermelho.\n",
"</span>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%HTML\n",
"<span style=\"color: red;\">\n",
"<b>ISSO É HTML</b><br />\n",
"Este texto deve estar vermelho.\n",
"</span>"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "66354e92",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<h1>Vídeo do youtube</h1>\n",
"<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/T17BTNKBeJY\" frameborder=\"0\"></iframe>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%HTML\n",
"<h1>Vídeo do youtube</h1>\n",
"<iframe width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/T17BTNKBeJY\" frameborder=\"0\"></iframe>"
]
},
{
"cell_type": "markdown",
"id": "2c7b4831",
"metadata": {},
"source": [
"# Gráficos com matplotlib"
]
},
{
"cell_type": "markdown",
"id": "30426e36",
"metadata": {},
"source": [
"Um exemplo de USO do módulo `matplotlib`.\n",
"\n",
"Primeiro vamos instalar o módulo usando `!` antes do comando."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "f66f6fc0",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Collecting matplotlib\n",
" Downloading matplotlib-3.7.0-cp311-cp311-macosx_11_0_arm64.whl (7.3 MB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m7.3/7.3 MB\u001b[0m \u001b[31m15.5 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m[36m0:00:01\u001b[0mm eta \u001b[36m0:00:01\u001b[0m\n",
"\u001b[?25hCollecting contourpy>=1.0.1\n",
" Downloading contourpy-1.0.7-cp311-cp311-macosx_11_0_arm64.whl (229 kB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m229.7/229.7 kB\u001b[0m \u001b[31m25.3 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting cycler>=0.10\n",
" Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB)\n",
"Collecting fonttools>=4.22.0\n",
" Downloading fonttools-4.38.0-py3-none-any.whl (965 kB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m965.4/965.4 kB\u001b[0m \u001b[31m32.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting kiwisolver>=1.0.1\n",
" Downloading kiwisolver-1.4.4-cp311-cp311-macosx_11_0_arm64.whl (63 kB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m63.1/63.1 kB\u001b[0m \u001b[31m8.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hCollecting numpy>=1.20\n",
" Downloading numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl (13.8 MB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m13.8/13.8 MB\u001b[0m \u001b[31m6.7 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0mm eta \u001b[36m0:00:01\u001b[0m[36m0:00:01\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: packaging>=20.0 in ./venv/lib/python3.11/site-packages (from matplotlib) (23.0)\n",
"Collecting pillow>=6.2.0\n",
" Downloading Pillow-9.4.0-cp311-cp311-macosx_11_0_arm64.whl (3.0 MB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m3.0/3.0 MB\u001b[0m \u001b[31m12.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0mm eta \u001b[36m0:00:01\u001b[0m[36m0:00:01\u001b[0m\n",
"\u001b[?25hCollecting pyparsing>=2.3.1\n",
" Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m98.3/98.3 kB\u001b[0m \u001b[31m9.2 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: python-dateutil>=2.7 in ./venv/lib/python3.11/site-packages (from matplotlib) (2.8.2)\n",
"Requirement already satisfied: six>=1.5 in ./venv/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib) (1.16.0)\n",
"Installing collected packages: pyparsing, pillow, numpy, kiwisolver, fonttools, cycler, contourpy, matplotlib\n",
"Successfully installed contourpy-1.0.7 cycler-0.11.0 fonttools-4.38.0 kiwisolver-1.4.4 matplotlib-3.7.0 numpy-1.24.2 pillow-9.4.0 pyparsing-3.0.9\n"
]
}
],
"source": [
"!pip install matplotlib"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "5b8cb5d1",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGzCAYAAADJ3dZzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHs0lEQVR4nO3dd3RU1f7+8WcS0kilpkhIIh0REpo0JQoSEREULwpKiRSvgoBI9SJSlCYCFgRBqoL4QxARlSrgFQHpFzSGYhBUirSEUJKQ7N8frMyXIQGSMCHh8H6tNWsx++yzz2fmJJOHc/Y5YzPGGAEAAFiUS0EXAAAAkJ8IOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIOwAAwNIIO8AtEB0drejo6IIuI98cPHhQNptNs2fPdsp4w4YNk81m04kTJ5wy3rWEh4frscceu2E/m82mYcOGOXXb+THmzejcubPCw8Nv6TYz9zOQ3wg7uKPNnj1bNpst28egQYPybbt///23hg0bpp07d+bbNgAAlxUp6AKAwmDEiBGKiIhwaKtWrZrTxl+5cqXD87///lvDhw9XeHi4IiMjnbYd5I8LFy6oSBE+LoHbFb+9gKTmzZurdu3aOep78eJFubu7y8Ul5wdG3d3d81oaCgFPT8+CLgE3YIzRxYsX5eXlVdCloBDiNBZwHevWrZPNZtOCBQs0ZMgQ3XXXXSpatKiSkpKuOd8g89TYwYMH7W1XztlZt26d6tSpI0mKjY21nza73nyXs2fPqk+fPgoPD5eHh4dKly6thx9+WNu3b7f3CQ8PV+fOnbOse/V8oczX9Pnnn+u1115TUFCQvL299fjjj+vw4cNZ1q1WrZq2bdumBg0ayMvLSxEREZo6dep137dZs2bJZrNpx44dWZaNGjVKrq6u+uuvv647hiSdOHFCbdu2lZ+fn0qUKKHevXvr4sWL9uWNGzdWjRo1sl23UqVKiomJueE2rjZnzhwVKVJE/fv3t7ddPb8mc9/v379fnTt3VkBAgPz9/RUbG6vz5887jJeSkqJXXnlFpUqVkq+vrx5//HH9+eefOaolNTVVQ4cOVa1ateTv7y9vb2/df//9Wrt2rUO/zDlT48eP17Rp01SuXDl5eHioTp062rJlS5ZxlyxZomrVqsnT01PVqlXTl19+mYt3SPruu+/UuHFj+fr6ys/PT3Xq1NH8+fMd+ixcuFC1atWSl5eXSpYsqeeeey5H+/zSpUsaOXKk/TWEh4frtddeU0pKikO/zPlWK1asUO3ateXl5aWPPvooV68Ddw7CDiApMTFRJ06ccHhcaeTIkfrmm2/Ur18/jRo16qaO1FSpUkUjRoyQJHXv3l2ffPKJPvnkEz3wwAPXXOff//63pkyZojZt2ujDDz9Uv3795OXlpbi4uDzX8dZbb+mbb77RwIED1atXL61atUpNmzbVhQsXHPqdPn1ajz76qGrVqqVx48apTJkyevHFFzVz5sxrjv3UU0/Jy8tL8+bNy7Js3rx5io6O1l133XXDGtu2bauLFy9q9OjRevTRR/Xee++pe/fu9uUdOnTQ//73P+3Zs8dhvS1btmjv3r167rnnbriNK02bNk2xsbEaNGiQ3n777RzVd/bsWY0ePVpt27bV7NmzNXz4cIc+Xbt21aRJk9SsWTONGTNGbm5uatGiRY7qSUpK0scff6zo6GiNHTtWw4YN0z///KOYmJhs53vNnz9fb7/9tl544QW9+eabOnjwoJ588kmlpaXZ+6xcuVJt2rSRzWbT6NGj1bp1a8XGxmrr1q05qmn27Nlq0aKFTp06pcGDB2vMmDGKjIzU8uXLHfq0bdtWrq6uGj16tLp166bFixerUaNGOnPmzHXH79q1q4YOHaqaNWtq4sSJaty4sUaPHq1nnnkmS9/4+Hi1a9dODz/8sN59911OCePaDHAHmzVrlpGU7cMYY9auXWskmbvvvtucP3/eYd033njDZPcrlDlmQkKCva1x48amcePG9udbtmwxksysWbNyVKe/v7/p0aPHdfuEhYWZTp06ZWm/etuZr+muu+4ySUlJ9vb/9//+n5Fk3n33XYd1JZl33nnH3paSkmIiIyNN6dKlTWpqqjHGmISEhCyvp127diYkJMSkp6fb27Zv356j15353j7++OMO7S+99JKRZHbt2mWMMebMmTPG09PTDBw40KFfr169jLe3t0lOTr7udsLCwkyLFi2MMca8++67xmazmZEjR2bpJ8m88cYbWep7/vnnHfo98cQTpkSJEvbnO3fuNJLMSy+95NCvffv2WcbMzqVLl0xKSopD2+nTp01gYKDDtjPf/xIlSphTp07Z27/66isjyXz99df2tsjISBMcHGzOnDljb1u5cqWR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9OnTtWrVKs2YMUN16tSRJI0YMUIPP/ywfb3ixYurRo0a9ucjR47Ul19+qaVLl6pnz5729kcffVQvvfSSJGngwIGaOHGi1q5dq0qVKmn+/Pmy2WyaPn26PD09VbVqVf3111/q1q2bff0PPvhAUVFRGjVqlL1t5syZCg0N1d69e1WxYsV8eV84sgMAgEUcOHBAaWlpatiwob3Nzc1NdevWVVxcnL2tdu3aDuslJyerX79+qlKligICAuTj46O4uLgsR3aqV69u/7fNZlNQUJCOHz8uSYqPj1f16tXl6elp71O3bl2H9Xft2qW1a9fKx8fH/qhcubK99vzCkR0AAO4w3t7eDs/79eunVatWafz48Spfvry8vLz01FNPKTU11aGfm5ubw3ObzaaMjIwcbzc5OVktW7bU2LFjsywLDg7OxSvInUJ9ZCc9PV2vv/66IiIi5OXlpXLlymnkyJEyxtj7GGM0dOhQBQcHy8vLS02bNtW+ffsKsGoAAApGuXLl5O7urg0bNtjb0tLStGXLFlWtWvWa623YsEGdO3fWE088oXvvvVdBQUE6ePBgrrZdqVIl7d69WykpKfa2zInRmWrWrKlffvlF4eHhKl++vMPj6gDmTIU67IwdO1ZTpkzRBx98oLi4OI0dO1bjxo3T+++/b+8zbtw4vffee5o6dao2b94sb29vxcTE6OLFiwVYOQAAt563t7defPFF9e/fX8uXL9evv/6qbt266fz58+rSpcs116tQoYIWL16snTt3ateuXWrfvn2ujthIsq/TvXt3xcXFacWKFRo/fryky0eAJKlHjx46deqU2rVrpy1btujAgQNasWKFYmNjlZ6envcXfgOF+jTWTz/9pFatWqlFixaSLl/29tlnn+nnn3+WdPmozqRJkzRkyBC1atVKkjR37lwFBgZqyZIleuaZZwqsdgCABd0GdzQeM2aMMjIy1KFDB509e1a1a9fWihUrVKxYsWuuM2HCBD3//PNq0KCBSpYsqYEDByopKSlX2/Xz89PXX3+tF198UZGRkbr33ns1dOhQtW/f3j6PJyQkRBs2bNDAgQPVrFkzpaSkKCwsTI888ohcXPLv+IvNXHlOqJAZNWqUpk2bppUrV6pixYratWuXmjVrpgkTJujZZ5/V77//rnLlymnHjh2KjIy0r9e4cWNFRkbq3XffzXbclJQUh8NsSUlJCg0NVWJiovz8/PL7ZcEiwgd9U9Al3LEOjmlR0CXA4i5evKiEhARFREQ4TLhF7sybN0+xsbFKTEyUl5dXnsa43r5ISkqSv7//Df9+F+ojO4MGDVJSUpIqV64sV1dXpaen66233tKzzz4rSTp69KgkKTAw0GG9wMBA+7LsjB49WsOHD8+/wgEAuAPNnTtXd999t+666y7t2rVLAwcOVNu2bfMcdJylUM/Z+X//7/9p3rx5mj9/vrZv3645c+Zo/PjxmjNnzk2NO3jwYCUmJtofhw8fdlLFAADcuY4eParnnntOVapU0SuvvKJ//etfWe6yXBAK9ZGd/v37a9CgQfa5N/fee6/++OMPjR49Wp06dVJQUJAk6dixYw6XrB07dszhtNbVPDw85OHhka+1AwBwpxkwYIAGDBhQ0GVkUaiP7Jw/fz7LhCVXV1f7DPGIiAgFBQVpzZo19uVJSUnavHmz6tevf0trBQAAhVOhPrLTsmVLvfXWWypbtqzuuece7dixwz5jXLp8KVufPn305ptvqkKFCoqIiNDrr7+ukJAQtW7dumCLBwDc9grxNTx3DGfsg0Iddt5//329/vrreumll3T8+HGFhITohRde0NChQ+19BgwYoHPnzql79+46c+aMGjVqpOXLlzN7HgCQZ66urpKk1NTUAp9ce6c7f/68pKx3b86NQn3p+a2S00vXgCtx6XnB4dJz5DdjjA4dOqS0tDSFhITk6z1gkD1jjM6fP6/jx48rICAg26+TsMSl5wAAFASbzabg4GAlJCTojz/+KOhy7mgBAQH2C5LyirADAEA23N3dVaFChSxfholbx83NzX5K8WYQdgAAuAYXFxfmgFoAJyEBAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAIClEXYAAICl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ACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACytUIed0aNHq06dOvL19VXp0qXVunVrxcfHO/S5ePGievTooRIlSsjHx0dt2rTRsWPHCqhiAABQ2BTqsLN+/Xr16NFDmzZt0qpVq5SWlqZmzZrp3Llz9j6vvPKKvv76ay1cuFDr16/X33//rSeffLIAqwYAAIVJkYIu4HqWL1/u8Hz27NkqXbq0tm3bpgceeECJiYmaMWOG5s+fr4ceekiSNGvWLFWpUkWbNm1SvXr1CqJsAABQiBTqIztXS0xMlCQVL15ckrRt2zalpaWpadOm9j6VK1dW2bJltXHjxmuOk5KSoqSkJIcHAACwptsm7GRkZKhPnz5q2LChqlWrJkk6evSo3N3dFRAQ4NA3MDBQR48eveZYo0ePlr+/v/0RGhqan6UDAIACdNuEnR49emjPnj1asGDBTY81ePBgJSYm2h+HDx92QoUAAKAwKtRzdjL17NlTy5Yt0w8//KAyZcrY24OCgpSamqozZ844HN05duyYgoKCrjmeh4eHPDw88rNkAABQSBTqIzvGGPXs2VNffvmlvv/+e0VERDgsr1Wrltzc3LRmzRp7W3x8vA4dOqT69evf6nIBAEAhVKiP7PTo0UPz58/XV199JV9fX/s8HH9/f3l5ecnf319dunRR3759Vbx4cfn5+enll19W/fr1uRILAABIKuRhZ8qUKZKk6Ohoh/ZZs2apc+fOkqSJEyfKxcVFbdq0UUpKimJiYvThhx/e4koBAEBhVajDjjHmhn08PT01efJkTZ48+RZUBAAAbjeFes4OAADAzSLsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS7NM2Jk8ebLCw8Pl6emp++67Tz///HNBlwQAAAoBS4Sdzz//XH379tUbb7yh7du3q0aNGoqJidHx48cLujQAAFDALBF2JkyYoG7duik2NlZVq1bV1KlTVbRoUc2cObOgSwMAAAWsSEEXcLNSU1O1bds2DR482N7m4uKipk2bauPGjdmuk5KSopSUFPvzxMRESVJSUpLT60tOT3f6mMiZ/NifV8pIOZ+v4+Pa8nvf8ntbMPJ7vyrF5O/4uLZ82reZPzPGXH/f3vZh58SJE0pPT1dgYKBDe2BgoH777bds1xk9erSGDx+epT00NDRfakQB8fcv6AqQT/wnFXQFyBf8zlrXmPzdt2fPnpX/dX5+bvuwkxeDBw9W37597c8zMjJ06tQplShRQjabrQArK1ySkpIUGhqqw4cPy8/Pr6DLgZOwX62LfWtd7NvsGWN09uxZhYSEXLffbR92SpYsKVdXVx07dsyh/dixYwoKCsp2HQ8PD3l4eDi0BQQE5FeJtz0/Pz9+uSyI/Wpd7FvrYt9mdb0jOplu+wnK7u7uqlWrltasWWNvy8jI0Jo1a1S/fv0CrAwAABQGt/2RHUnq27evOnXqpNq1a6tu3bqaNGmSzp07p9jY2IIuDQAAFDBLhJ2nn35a//zzj4YOHaqjR48qMjJSy5cvzzJpGbnj4eGhN954I8spP9ze2K/Wxb61LvbtzbGZG12vBQAAcBu77efsAAAAXA9hBwAAWBphBwAAWBphBwAAWBphB3k2e/ZsbsaYR9HR0erTp881l4eHh2vSpEm3dJsoXA4ePCibzaadO3cWdCnAbY+wAwAALI2wAyDP0tPTlZGRkaU9NTW1AKpBTmS3b661H5G/jDG6dOlSQZdxRyDsWNTy5cvVqFEjBQQEqESJEnrsscd04MABSf93eHzBggVq0KCBPD09Va1aNa1fv96+/rp162Sz2fTNN9+oevXq8vT0VL169bRnz57rbverr75SzZo15enpqbvvvlvDhw/nl/kaLl26pJ49e8rf318lS5bU66+/ruxue5Xd6YwzZ87IZrNp3bp19rY9e/aoefPm8vHxUWBgoDp06KATJ07kapspKSnq16+f7rrrLnl7e+u+++5z2EbmqculS5eqatWq8vDw0KFDhxQeHq6RI0eqY8eO8vPzU/fu3fXQQw+pZ8+eDtv/559/5O7u7vD1Lne6jIwMjRs3TuXLl5eHh4fKli2rt956y778999/14MPPqiiRYuqRo0a2rhxo8P6P/74o+6//355eXkpNDRUvXr10rlz5+zLs9s32e3HH3/8UW5ubjp69KjD+H369NH999+fv2+ChaSkpKhXr14qXbq0PD091ahRI23ZskXS/32ufvfdd6pVq5b9fT9w4IBatWqlwMBA+fj4qE6dOlq9erXDuOHh4Ro1apSef/55+fr6qmzZspo2bZpDn59++kmRkZHy9PRU7dq1tWTJkiyfHTn5nLAkA0v64osvzKJFi8y+ffvMjh07TMuWLc29995r0tPTTUJCgpFkypQpY7744gvz66+/mq5duxpfX19z4sQJY4wxa9euNZJMlSpVzMqVK83//vc/89hjj5nw8HCTmppqjDFm1qxZxt/f377NH374wfj5+ZnZs2ebAwcOmJUrV5rw8HAzbNiwgngLCrXGjRsbHx8f07t3b/Pbb7+ZTz/91BQtWtRMmzbNGGNMWFiYmThxojHG2PfXjh077OufPn3aSDJr1661Py9VqpQZPHiwiYuLM9u3bzcPP/ywefDBB3O8TWOM6dq1q2nQoIH54YcfzP79+83bb79tPDw8zN69e40xl/e5m5ubadCggdmwYYP57bffzLlz50xYWJjx8/Mz48ePN/v37zf79+838+bNM8WKFTMXL160jz9hwgQTHh5uMjIy8umdvf0MGDDAFCtWzMyePdvs37/f/Pe//zXTp0+37/fKlSubZcuWmfj4ePPUU0+ZsLAwk5aWZowxZv/+/cbb29tMnDjR7N2712zYsMFERUWZzp0728fPbt9caz9WrFjRjBs3zr5uamqqKVmypJk5c+Ytf19uV7169TIhISHm22+/Nb/88ovp1KmTKVasmDl58qT9c7V69epm5cqVZv/+/ebkyZNm586dZurUqWb37t1m7969ZsiQIcbT09P88ccf9nHDwsJM8eLFzeTJk82+ffvM6NGjjYuLi/ntt9+MMcYkJiaa4sWLm+eee8788ssv5ttvvzUVK1Z0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lpNtzpo1Sx07dtSrr76qSpUqqXXr1tqyZYvDKZHcateunYoUKaJ27dpxOjMbr7/+ul599VUNHTpUVapU0dNPP22fh3Ej1atX1/r167V3717df//9ioqK0tChQxUSEpLnelxcXNS5c2elp6erY8eOeR7nTjVmzBi1adNGHTp0UM2aNbV//36tWLFCxYoVu+Y6EyZMULFixdSgQQO1bNlSMTExqlmzZq626+fnp6+//lo7d+5UZGSk/vOf/2jo0KGS/m8aQU4/J6zIZkw2N/aApR08eFARERHasWOHIiMjs+2zbt06Pfjggzp9+jRfCYGbcvDgQZUrV05btmzJ9Qc4CkaXLl30zz//aOnSpQVdCm7CvHnzFBsbq8TExBzND7OyO+ukHYBbJi0tTSdPntSQIUNUr149gs5tIDExUbt379b8+fMJOrehuXPn6u6779Zdd92lXbt2aeDAgWrbtu0dH3Qkwg6AfLJhwwY9+OCDqlixor744ouCLgc50KpVK/3888/697//rYcffrigy0EuHT16VEOHDtXRo0cVHBysf/3rXw53476TcRoLAABYmrVnJAEAgDseYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFja/wcJbdIkgP1m+QAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"fig, ax = plt.subplots()\n",
"\n",
"fruits = ['apple', 'blueberry', 'cherry', 'orange']\n",
"counts = [40, 100, 30, 55]\n",
"bar_labels = ['red', 'blue', '_red', 'orange']\n",
"bar_colors = ['tab:red', 'tab:blue', 'tab:red', 'tab:orange']\n",
"\n",
"ax.bar(fruits, counts, label=bar_labels, color=bar_colors)\n",
"\n",
"ax.set_ylabel('fruit supply')\n",
"ax.set_title('Fruit supply by kind and color')\n",
"ax.legend(title='Fruit color')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "d82bdcca",
"metadata": {},
"source": [
"# Comandos no seu computador"
]
},
{
"cell_type": "markdown",
"id": "325915f3",
"metadata": {},
"source": [
"Use o `!` para comandos do seu computador."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "507bef38",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"PING 127.0.0.1 (127.0.0.1): 56 data bytes\n",
"64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.037 ms\n",
"64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.171 ms\n",
"64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.797 ms\n",
"64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.586 ms\n",
"64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.257 ms\n",
"\n",
"--- 127.0.0.1 ping statistics ---\n",
"5 packets transmitted, 5 packets received, 0.0% packet loss\n",
"round-trip min/avg/max/stddev = 0.037/0.370/0.797/0.280 ms\n"
]
}
],
"source": [
"!ping 127.0.0.1 -c 5"
]
},
{
"cell_type": "markdown",
"id": "479854c8",
"metadata": {},
"source": [
"# timeit\n",
"\n",
"Você pode ver quanto tempo levou para realizar alguma operação com `%%timeit`."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c9fb4e7b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"2.48 ms ± 12.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n"
]
}
],
"source": [
"%%timeit\n",
"lista = [x * 2 for x in range(100000)]"
]
},
{
"cell_type": "markdown",
"id": "048caf04",
"metadata": {},
"source": [
"# Exibindo Pandas Dataframe"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "dec0fc56",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: numpy in ./venv/lib/python3.11/site-packages (1.24.2)\n",
"Collecting pandas\n",
" Downloading pandas-1.5.3-cp311-cp311-macosx_11_0_arm64.whl (10.8 MB)\n",
"\u001b[2K \u001b[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m10.8/10.8 MB\u001b[0m \u001b[31m8.0 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0mm eta \u001b[36m0:00:01\u001b[0m[36m0:00:01\u001b[0m\n",
"\u001b[?25hRequirement already satisfied: python-dateutil>=2.8.1 in ./venv/lib/python3.11/site-packages (from pandas) (2.8.2)\n",
"Requirement already satisfied: pytz>=2020.1 in ./venv/lib/python3.11/site-packages (from pandas) (2022.6)\n",
"Requirement already satisfied: numpy>=1.21.0 in ./venv/lib/python3.11/site-packages (from pandas) (1.24.2)\n",
"Requirement already satisfied: six>=1.5 in ./venv/lib/python3.11/site-packages (from python-dateutil>=2.8.1->pandas) (1.16.0)\n",
"Installing collected packages: pandas\n",
"Successfully installed pandas-1.5.3\n"
]
}
],
"source": [
"!pip install numpy\n",
"!pip install pandas"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "c1ddfca3",
"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>0</th>\n",
" <th>1</th>\n",
" <th>2</th>\n",
" <th>3</th>\n",
" <th>4</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>1.294654</td>\n",
" <td>1.225407</td>\n",
" <td>0.667927</td>\n",
" <td>0.759970</td>\n",
" <td>-0.083937</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>0.374234</td>\n",
" <td>-0.485277</td>\n",
" <td>-0.510499</td>\n",
" <td>0.140018</td>\n",
" <td>-0.186759</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>0.870954</td>\n",
" <td>-1.125351</td>\n",
" <td>-0.149405</td>\n",
" <td>1.798478</td>\n",
" <td>-1.199871</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>0.068925</td>\n",
" <td>-1.689795</td>\n",
" <td>2.298880</td>\n",
" <td>0.755638</td>\n",
" <td>-0.585057</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>-0.603612</td>\n",
" <td>0.191454</td>\n",
" <td>1.636797</td>\n",
" <td>0.396244</td>\n",
" <td>-0.133369</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>1.049888</td>\n",
" <td>0.764657</td>\n",
" <td>0.497842</td>\n",
" <td>-0.474002</td>\n",
" <td>-1.134222</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>-0.216218</td>\n",
" <td>-2.036079</td>\n",
" <td>-1.460034</td>\n",
" <td>-1.004030</td>\n",
" <td>-1.167232</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>0.392413</td>\n",
" <td>0.327364</td>\n",
" <td>-0.586026</td>\n",
" <td>1.293106</td>\n",
" <td>-0.915008</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>-0.220137</td>\n",
" <td>-0.295776</td>\n",
" <td>1.426281</td>\n",
" <td>-0.783319</td>\n",
" <td>-1.033458</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>-1.223821</td>\n",
" <td>0.447848</td>\n",
" <td>-0.134580</td>\n",
" <td>1.212411</td>\n",
" <td>1.438265</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>-0.720095</td>\n",
" <td>2.313858</td>\n",
" <td>0.814957</td>\n",
" <td>-1.014996</td>\n",
" <td>-0.206972</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>-0.240504</td>\n",
" <td>-0.562041</td>\n",
" <td>0.092123</td>\n",
" <td>-1.061941</td>\n",
" <td>0.554129</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>-0.496803</td>\n",
" <td>0.012167</td>\n",
" <td>-1.686492</td>\n",
" <td>-0.953233</td>\n",
" <td>-1.897452</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>1.066488</td>\n",
" <td>0.238337</td>\n",
" <td>1.085256</td>\n",
" <td>0.933488</td>\n",
" <td>1.422043</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>-0.163235</td>\n",
" <td>-1.566865</td>\n",
" <td>0.640183</td>\n",
" <td>-0.053335</td>\n",
" <td>1.849781</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>1.285187</td>\n",
" <td>0.900688</td>\n",
" <td>0.548796</td>\n",
" <td>-0.490966</td>\n",
" <td>0.116574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>1.791797</td>\n",
" <td>0.459082</td>\n",
" <td>0.026875</td>\n",
" <td>0.506279</td>\n",
" <td>-0.131219</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>1.536301</td>\n",
" <td>0.456350</td>\n",
" <td>0.426322</td>\n",
" <td>0.524374</td>\n",
" <td>2.521286</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 0 1 2 3 4\n",
"0 1.294654 1.225407 0.667927 0.759970 -0.083937\n",
"1 0.374234 -0.485277 -0.510499 0.140018 -0.186759\n",
"2 0.870954 -1.125351 -0.149405 1.798478 -1.199871\n",
"3 0.068925 -1.689795 2.298880 0.755638 -0.585057\n",
"4 -0.603612 0.191454 1.636797 0.396244 -0.133369\n",
"5 1.049888 0.764657 0.497842 -0.474002 -1.134222\n",
"6 -0.216218 -2.036079 -1.460034 -1.004030 -1.167232\n",
"7 0.392413 0.327364 -0.586026 1.293106 -0.915008\n",
"8 -0.220137 -0.295776 1.426281 -0.783319 -1.033458\n",
"9 -1.223821 0.447848 -0.134580 1.212411 1.438265\n",
"10 -0.720095 2.313858 0.814957 -1.014996 -0.206972\n",
"11 -0.240504 -0.562041 0.092123 -1.061941 0.554129\n",
"12 -0.496803 0.012167 -1.686492 -0.953233 -1.897452\n",
"13 1.066488 0.238337 1.085256 0.933488 1.422043\n",
"14 -0.163235 -1.566865 0.640183 -0.053335 1.849781\n",
"15 1.285187 0.900688 0.548796 -0.490966 0.116574\n",
"16 1.791797 0.459082 0.026875 0.506279 -0.131219\n",
"17 1.536301 0.456350 0.426322 0.524374 2.521286"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"df = pd.DataFrame(np.random.randn(18,5))\n",
"df"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "7b697f50",
"metadata": {},
"outputs": [],
"source": []
}
],
"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.11.1"
},
"vscode": {
"interpreter": {
"hash": "d4b58ea986700fddbea61f2811ee261ba0a6226fa64e48186a330b544c2c33ae"
}
}
},
"nbformat": 4,
"nbformat_minor": 5
}