diff --git a/exercicios/para-casa/atividadeparacada.ipynb b/exercicios/para-casa/atividadeparacada.ipynb new file mode 100644 index 0000000..70d014e --- /dev/null +++ b/exercicios/para-casa/atividadeparacada.ipynb @@ -0,0 +1,418 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "# Gerando dados falsos\n", + "categorias = ['Eletrônicos', 'Roupas', 'Alimentos', 'Livros', 'Brinquedos']\n", + "datas = pd.date_range(start='2023-01-01', end='2023-12-31', freq='D')\n", + "num_registros = len(datas)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "# Criando DataFrame\n", + "data = {\n", + " 'Data': np.random.choice(datas, num_registros),\n", + " 'Categoria': np.random.choice(categorias, num_registros),\n", + " 'Quantidade_Vendida': np.random.randint(1, 160, num_registros),\n", + " 'Preco_Unitario': np.round(np.random.uniform(10, 110, num_registros), 2)\n", + " }\n", + "df = pd.DataFrame(data)\n", + "df['Valor_Total'] = df['Quantidade_Vendida'] * df['Preco_Unitario']" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Conjunto de dados gerado e salvo como 'dados_vendas.csv'.\n" + ] + } + ], + "source": [ + "# Salvando o DataFrame em um arquivo CSV\n", + "df.to_csv('dados_vendas.csv', index=False)\n", + "\n", + "print(\"Conjunto de dados gerado e salvo como 'dados_vendas.csv'.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "#Carregando dados CSV\n", + "df = pd.read_csv('dados_vendas.csv')" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(365, 5)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Descobrir quantidade de linhas e colunas\n", + "df.shape" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Pergunta 1: Quantas linhas e colunas existem no DataFrame carregado?**\n", + "Existem 365 linhas e 5 colunas" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Data object\n", + "Categoria object\n", + "Quantidade_Vendida int64\n", + "Preco_Unitario float64\n", + "Valor_Total float64\n", + "dtype: object" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Mostrar o tipo de dados\n", + "df.dtypes" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Pergunta 2: Quais são os tipos de dados (dtypes) das colunas?**\n", + "\n", + "Os dados das colunas são: data sendo um object, categoria sendo um object, quantidade vendida sendo int, preço unitario sendo float, valor total sendo float." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Data Categoria Quantidade_Vendida Preco_Unitario Valor_Total\n", + "0 2023-10-13 Brinquedos 153 52.87 8089.11\n", + "1 2023-05-25 Brinquedos 52 109.46 5691.92\n", + "2 2023-04-24 Livros 123 42.90 5276.70\n", + "3 2023-06-22 Roupas 51 32.85 1675.35\n", + "4 2023-07-02 Livros 54 13.11 707.94\n" + ] + } + ], + "source": [ + "# Exibe as 5 primeiras linhas\n", + "print(df.head())" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estão presentes 5 categorias únicas de produto.\n" + ] + } + ], + "source": [ + "# Quantidade de categorias unicas\n", + "categorias_unicas = df['Categoria'].unique()\n", + "numero_categorias = len(categorias_unicas)\n", + "print(f\"Estão presentes {numero_categorias} categorias únicas de produto.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Data Categoria Quantidade_Vendida Preco_Unitario Valor_Total\n", + "6 2023-07-11 Eletrônicos 23 38.95 895.85\n", + "9 2023-11-12 Eletrônicos 33 33.90 1118.70\n", + "13 2023-03-27 Eletrônicos 146 84.14 12284.44\n", + "23 2023-06-23 Eletrônicos 155 34.69 5376.95\n", + "25 2023-01-15 Eletrônicos 85 91.94 7814.90\n", + ".. ... ... ... ... ...\n", + "348 2023-11-19 Eletrônicos 39 91.62 3573.18\n", + "350 2023-01-18 Eletrônicos 36 73.05 2629.80\n", + "354 2023-02-13 Eletrônicos 125 96.21 12026.25\n", + "360 2023-04-02 Eletrônicos 118 67.36 7948.48\n", + "363 2023-08-20 Eletrônicos 113 42.17 4765.21\n", + "\n", + "[70 rows x 5 columns]\n" + ] + } + ], + "source": [ + "eletronicos = df[df['Categoria'] == 'Eletrônicos']\n", + "print(eletronicos)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "# Média do valor total das vendas na categoria 'Eletrônicos'?\n", + "agrupado_media = df.groupby('Categoria')['Valor_Total'].mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Categoria\n", + "Alimentos 4658.316061\n", + "Brinquedos 5314.170909\n", + "Eletrônicos 4594.863857\n", + "Livros 4584.918571\n", + "Roupas 4212.797541\n", + "Name: Valor_Total, dtype: float64" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "agrupado_media" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Pergunta 4: Qual é a média do valor total das vendas na categoria 'Eletrônicos'?**\n", + "A média d valor total das vendas da categoria eletrônicos é R$ 4751.63" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Data Categoria Quantidade_Vendida Preco_Unitario Valor_Total\n", + "0 2023-10-13 Brinquedos 153 52.87 8089.11\n", + "1 2023-05-25 Brinquedos 52 109.46 5691.92\n", + "2 2023-04-24 Livros 123 42.90 5276.70\n", + "3 2023-06-22 Roupas 51 32.85 1675.35\n", + "5 2023-09-15 Brinquedos 82 78.56 6441.92\n", + ".. ... ... ... ... ...\n", + "360 2023-04-02 Eletrônicos 118 67.36 7948.48\n", + "361 2023-01-11 Roupas 46 50.70 2332.20\n", + "362 2023-06-15 Brinquedos 59 72.05 4250.95\n", + "363 2023-08-20 Eletrônicos 113 42.17 4765.21\n", + "364 2023-04-24 Livros 85 55.89 4750.65\n", + "\n", + "[315 rows x 5 columns]\n" + ] + } + ], + "source": [ + "# Filtrar as vendas acima de R$ 1000:\n", + "vendas_acima_1000 = df[df['Valor_Total'] > 1000]\n", + "print(vendas_acima_1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Estão presentes 5 categorias únicas de produto.\n" + ] + } + ], + "source": [ + "categorias_unicas = df['Categoria'].unique()\n", + "numero_categorias = len(categorias_unicas)\n", + "print(f\"Estão presentes {numero_categorias} categorias únicas de produto.\")" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "315\n" + ] + } + ], + "source": [ + "vendas_acima_1000 = df[df['Valor_Total'] > 1000]\n", + "quantidade_vendas_acima_1000 = len(vendas_acima_1000)\n", + "print(quantidade_vendas_acima_1000)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "**Pergunta 5: Quantas vendas acima de R$ 1000 ocorreram?**\n", + "\n", + "Houve 355 vendas com valor cima de R$ 1000.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Categoria Valor_Total\n", + "0 Alimentos 307448.86\n", + "1 Brinquedos 409191.16\n", + "2 Eletrônicos 321640.47\n", + "3 Livros 417227.59\n", + "4 Roupas 256980.65\n" + ] + } + ], + "source": [ + "##**Agrupar os dados por categoria e calcular o total de vendas por categoria:##\n", + "total_por_categoria = df.groupby('Categoria')['Valor_Total'].sum().reset_index()\n", + "print(total_por_categoria)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Pergunta 6: Qual categoria teve o maior valor total de vendas?**\n", + "\n", + "A categoria que teve o maior valor de vendas foi de eletrônico\n" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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8298XVY1WXF2dpaHh4fVAwAAAABsdVeDjvz0009aunSp4uLilJKSYjXvm2++yZHGsvLnn3/qn3/+UalSpSRJgYGBunDhgmJiYhQQECBJ2rx5s9LT09WwYUOz5o033tC1a9dUsGBBSVJ4eLiqVKmiokWLmjUREREaPHiwua7w8HAFBgZKksqXLy8fHx9FRESobt26kq4fLduxY4defvnlXHu/AAAAAPK3bB9h+/rrr9W4cWMdPHhQK1eu1LVr13TgwAFt3rw528P6X7p0SbGxsYqNjZV0fXCP2NhYxcXF6dKlSxo2bJh+/PFHHT9+XBEREXryySfl7++v4OBgSVK1atXUqlUr9enTRzt37tQPP/ygAQMGqGvXrvL19ZUkPffcc3JyclLv3r114MABLVmyRDNmzLA6VfHVV19VWFiYpkyZokOHDmncuHH66aefNGDAAEnXr80bPHiw3n77bX377bfat2+fevToIV9fX3Xo0CG7mxAAAAAAbJLtwPbOO+9o2rRpWrNmjZycnDRjxgwdOnRInTt3VpkyZbK1rJ9++kkPPvigHnzwQUnXR6N88MEHNWbMGDk6Omrv3r1q3769KleurN69eysgIEDbtm2Ts7OzuYxFixapatWqat68udq0aaOHH37Y6h5rnp6e2rRpk44dO6aAgAANHTpUY8aMsbpXW+PGjbV48WJ98sknqlOnjpYvX65Vq1apZs2aZs3w4cM1cOBA9e3bV/Xr19elS5cUFhYmFxeX7G5CAAAAALCJxTAMIzsvcHNz04EDB1SuXDl5eXkpMjJStWrV0sGDB/X444/r1KlTudXrf15iYqI8PT2VkJBgF9ezWcbn7KiesA/G2Gz9SOcI9qX7T17sRxL70v2I7yTkFPYl5JS8+h13M1uzQbaPsBUtWlQXL16UJD3wwAPav3+/JOnChQu6fPnyXbYLAAAAALhZtgcdadq0qcLDw1WrVi0988wzevXVV7V582aFh4f/J4baBwAAAID/CpsD2/79+1WzZk3NnDlTV69elSS98cYbKliwoLZv365OnTpp9OjRudYoAAAAAOQ3Nge22rVrq379+nrxxRfNG1o7ODho5MiRudYcAAAAAORnNl/DFhUVpRo1amjo0KEqVaqUQkJCtG3bttzsDQAAAADyNZsD2yOPPKLPP/9cp06d0kcffaTjx4/r0UcfVeXKlfXee+8pPj4+N/sEAAAAgHwn26NEurm5qVevXoqKitKvv/6qZ555RrNmzVKZMmXUvn373OgRAAAAAPKlbAe2G/n7++v111/X6NGjVbhwYa1bty6n+gIAAACAfC/bw/pn2Lp1qz7//HOtWLFCDg4O6ty5s3r37p2TvQEAAABAvpatwHby5EktWLBACxYs0G+//abGjRvrww8/VOfOneXm5pZbPQIAAABAvmRzYGvdurW+++47FS9eXD169NALL7ygKlWq5GZvAAAAAJCv2RzYChYsqOXLl6tdu3ZydHTMzZ4AAAAAAMpGYPv2229zsw8AAAAAwE3uaZRIAAAAAEDuIbABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdIrABAAAAgJ0isAEAAACAnSKwAQAAAICdytPAtnXrVj3xxBPy9fWVxWLRqlWrrOYbhqExY8aoVKlScnV1VVBQkI4cOWJVc+7cOXXr1k0eHh4qUqSIevfurUuXLlnV7N27V4888ohcXFzk5+enyZMnZ+pl2bJlqlq1qlxcXFSrVi2tX78+270AAAAAQE7K08CWlJSkOnXqaNasWVnOnzx5sj788EPNnTtXO3bskJubm4KDg3X16lWzplu3bjpw4IDCw8O1du1abd26VX379jXnJyYmqmXLlipbtqxiYmL0/vvva9y4cfrkk0/Mmu3bt+vZZ59V79699fPPP6tDhw7q0KGD9u/fn61eAAAAACAnWQzDMPK6CUmyWCxauXKlOnToIOn6ES1fX18NHTpUr732miQpISFBJUuW1IIFC9S1a1cdPHhQ1atX165du1SvXj1JUlhYmNq0aaM///xTvr6+mjNnjt544w3Fx8fLyclJkjRy5EitWrVKhw4dkiR16dJFSUlJWrt2rdlPo0aNVLduXc2dO9emXmyRmJgoT09PJSQkyMPDI0e2272wjLfkdQvIBcbYf/9Hmn3p/pMX+5HEvnQ/4jsJOYV9CTklr37H3czWbGC317AdO3ZM8fHxCgoKMqd5enqqYcOGio6OliRFR0erSJEiZliTpKCgIDk4OGjHjh1mTdOmTc2wJknBwcE6fPiwzp8/b9bcuJ6Mmoz12NJLVpKTk5WYmGj1AAAAAABb2W1gi4+PlySVLFnSanrJkiXNefHx8SpRooTV/AIFCqhYsWJWNVkt48Z13Krmxvl36iUrkyZNkqenp/nw8/O7w7sGAAAAgP9jt4HtfjBq1CglJCSYjxMnTuR1SwAAAAD+Q+w2sPn4+EiSTp8+bTX99OnT5jwfHx+dOXPGan5qaqrOnTtnVZPVMm5cx61qbpx/p16y4uzsLA8PD6sHAAAAANjKbgNb+fLl5ePjo4iICHNaYmKiduzYocDAQElSYGCgLly4oJiYGLNm8+bNSk9PV8OGDc2arVu36tq1a2ZNeHi4qlSpoqJFi5o1N64noyZjPbb0AgAAAAA5LU8D26VLlxQbG6vY2FhJ1wf3iI2NVVxcnCwWiwYPHqy3335b3377rfbt26cePXrI19fXHEmyWrVqatWqlfr06aOdO3fqhx9+0IABA9S1a1f5+vpKkp577jk5OTmpd+/eOnDggJYsWaIZM2YoNDTU7OPVV19VWFiYpkyZokOHDmncuHH66aefNGDAAEmyqRcAAAAAyGkF8nLlP/30k5o1a2Y+zwhRISEhWrBggYYPH66kpCT17dtXFy5c0MMPP6ywsDC5uLiYr1m0aJEGDBig5s2by8HBQZ06ddKHH35ozvf09NSmTZvUv39/BQQEqHjx4hozZozVvdoaN26sxYsXa/To0Xr99ddVqVIlrVq1SjVr1jRrbOkFAAAAAHKS3dyHLT/gPmz4N3CfGuQE7sOGnMJ3EnIK+xJyCvdhAwAAAADkCAIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2CkCGwAAAADYKQIbAAAAANgpAhsAAAAA2Cm7Dmzjxo2TxWKxelStWtWcf/XqVfXv319eXl5yd3dXp06ddPr0aatlxMXFqW3btipUqJBKlCihYcOGKTU11aomMjJSDz30kJydneXv768FCxZk6mXWrFkqV66cXFxc1LBhQ+3cuTNX3jMAAAAAZLDrwCZJNWrU0KlTp8zH999/b84bMmSI1qxZo2XLlikqKkonT55Ux44dzflpaWlq27atUlJStH37di1cuFALFizQmDFjzJpjx46pbdu2atasmWJjYzV48GC9+OKL2rhxo1mzZMkShYaGauzYsdq9e7fq1Kmj4OBgnTlz5t/ZCAAAAADyJbsPbAUKFJCPj4/5KF68uCQpISFBn332maZOnarHH39cAQEBmj9/vrZv364ff/xRkrRp0yb98ssv+vLLL1W3bl21bt1ab731lmbNmqWUlBRJ0ty5c1W+fHlNmTJF1apV04ABA/T0009r2rRpZg9Tp05Vnz591KtXL1WvXl1z585VoUKF9Pnnn//7GwQAAABAvmH3ge3IkSPy9fVVhQoV1K1bN8XFxUmSYmJidO3aNQUFBZm1VatWVZkyZRQdHS1Jio6OVq1atVSyZEmzJjg4WImJiTpw4IBZc+MyMmoylpGSkqKYmBirGgcHBwUFBZk1t5KcnKzExESrBwAAAADYyq4DW8OGDbVgwQKFhYVpzpw5OnbsmB555BFdvHhR8fHxcnJyUpEiRaxeU7JkScXHx0uS4uPjrcJaxvyMeberSUxM1JUrV/T3338rLS0ty5qMZdzKpEmT5OnpaT78/PyyvQ0AAAAA5F8F8rqB22ndurX579q1a6thw4YqW7asli5dKldX1zzszDajRo1SaGio+TwxMZHQBgAAAMBmdn2E7WZFihRR5cqV9dtvv8nHx0cpKSm6cOGCVc3p06fl4+MjSfLx8ck0amTG8zvVeHh4yNXVVcWLF5ejo2OWNRnLuBVnZ2d5eHhYPQAAAADAVv+pwHbp0iUdPXpUpUqVUkBAgAoWLKiIiAhz/uHDhxUXF6fAwEBJUmBgoPbt22c1mmN4eLg8PDxUvXp1s+bGZWTUZCzDyclJAQEBVjXp6emKiIgwawAAAAAgN9h1YHvttdcUFRWl48ePa/v27Xrqqafk6OioZ599Vp6enurdu7dCQ0O1ZcsWxcTEqFevXgoMDFSjRo0kSS1btlT16tXVvXt37dmzRxs3btTo0aPVv39/OTs7S5L69eun33//XcOHD9ehQ4c0e/ZsLV26VEOGDDH7CA0N1aeffqqFCxfq4MGDevnll5WUlKRevXrlyXYBAAAAkD/Y9TVsf/75p5599ln9888/8vb21sMPP6wff/xR3t7ekqRp06bJwcFBnTp1UnJysoKDgzV79mzz9Y6Ojlq7dq1efvllBQYGys3NTSEhIZowYYJZU758ea1bt05DhgzRjBkzVLp0ac2bN0/BwcFmTZcuXXT27FmNGTNG8fHxqlu3rsLCwjINRAIAAAAAOcliGIaR103kF4mJifL09FRCQoJdXM9mGW/J6xaQC4yx//6PNPvS/Scv9iOJfel+xHcScgr7EnJKXv2Ou5mt2cCuT4kEAAAAgPyMwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isAGAAAAAHaKwAYAAAAAdorABgAAAAB2isCWTbNmzVK5cuXk4uKihg0baufOnXndEgAAAID7FIEtG5YsWaLQ0FCNHTtWu3fvVp06dRQcHKwzZ87kdWsAAAAA7kMEtmyYOnWq+vTpo169eql69eqaO3euChUqpM8//zyvWwMAAABwHyqQ1w38V6SkpCgmJkajRo0ypzk4OCgoKEjR0dFZviY5OVnJycnm84SEBElSYmJi7jZrq6t53QByQ57sX+xL9508+55iX7rv8J2EnMK+hJxiL/8vntGHYRi3rSOw2ejvv/9WWlqaSpYsaTW9ZMmSOnToUJavmTRpksaPH59pup+fX670CEiS57ueed0C7gPsR8gp7EvIKexLyCn2ti9dvHhRnp637onAlotGjRql0NBQ83l6errOnTsnLy8vWSyWPOwsf0lMTJSfn59OnDghDw+PvG4H/2HsS8gJ7EfIKexLyCnsS3nDMAxdvHhRvr6+t60jsNmoePHicnR01OnTp62mnz59Wj4+Plm+xtnZWc7OzlbTihQpklst4g48PDz4EkKOYF9CTmA/Qk5hX0JOYV/6993uyFoGBh2xkZOTkwICAhQREWFOS09PV0REhAIDA/OwMwAAAAD3K46wZUNoaKhCQkJUr149NWjQQNOnT1dSUpJ69eqV160BAAAAuA8R2LKhS5cuOnv2rMaMGaP4+HjVrVtXYWFhmQYigX1xdnbW2LFjM52eCmQX+xJyAvsRcgr7EnIK+5J9sxh3GkcSAAAAAJAnuIYNAAAAAOwUgQ0AAAAA7BSBDQCAf8HBgwc1ceJEXbt2La9bAQD8hxDYkKciIyNlsVh04cIFSdKCBQu4Vx3uyX9tH+rZs6c6dOiQ123kexaLRatWrcq15aelpalnz576/vvv9fbbb2f79f+1/Rp3L7f3RQD/PQQ2/Cuio6Pl6Oiotm3b3rauS5cu+vXXX/+lrm7vscce0+DBg/O6jXyrZ8+eslgs5sPLy0utWrXS3r17b/s6e9qHYD9u3p8yHq1atbrr5WUnaL///vsKDg7W6tWrFRERodjY2Gytj/36/nK7/efUqVNq3br1v9sQ/hNu/B4rWLCgypcvr+HDh+vq1at53RpyGcP641/x2WefaeDAgfrss8908uRJ+fr6Zlnn6uoqV1fXf7k72KtWrVpp/vz5kqT4+HiNHj1a7dq1U1xcXJb1165dYx/CLd24P2XI7SGsr127poIFC2rkyJHmtO+//z7by2G/zj98fHzu6fUpKSlycnLKoW5gbzK+x65du6aYmBiFhITIYrHovffey+vWkIs4woZcd+nSJS1ZskQvv/yy2rZtqwULFtyy9ubTfsaNG6e6devq888/V5kyZeTu7q5XXnlFaWlpmjx5snx8fFSiRAlNnDjRajkXLlzQiy++KG9vb3l4eOjxxx/Xnj17Mi33iy++ULly5eTp6amuXbvq4sWLkq7/FSsqKkozZsww/5p1/PhxSVJUVJQaNGggZ2dnlSpVSiNHjlRqaqq57OXLl6tWrVpydXWVl5eXgoKClJSUdO8bMh9ydnaWj4+PfHx8VLduXY0cOVInTpzQ2bNndfz4cVksFi1ZskSPPvqoXFxctGjRolvuQ7f6rCUpKSlJPXr0kLu7u0qVKqUpU6ZkOsKa1WlKRYoUsdqfT5w4oc6dO6tIkSIqVqyYnnzySXO/ka6fFhcaGqoiRYrIy8tLw4cP1813VklOTtagQYNUokQJubi46OGHH9auXbvM+efPn1e3bt3k7e0tV1dXVapUKVMIQdZu3J8yHkWLFs2y9naf5bhx47Rw4UKtXr3a/H6IjIy85T6Znp6uCRMmqHTp0nJ2djbv4Zkh43XffPONmjVrpkKFCqlOnTqKjo42a7I6JXLNmjWqX7++XFxcVLx4cT311FPmvPPnz6tHjx4qWrSoChUqpNatW+vIkSPm/D/++ENPPPGEihYtKjc3N9WoUUPr16/Pga2Me3Xjd03jxo01YsQIq/lnz55VwYIFtXXrVklSuXLl9NZbb6lHjx7y8PBQ3759JUkrVqxQjRo15OzsrHLlymnKlClWy5k9e7YqVaokFxcXlSxZUk8//XTuvzncs4zvMT8/P3Xo0EFBQUEKDw+XdOffH1l9j6xatUoWi8V8nvE78+OPP5afn58KFSqkzp07KyEhwazZtWuXWrRooeLFi8vT01OPPvqodu/ebc43DEPjxo1TmTJl5OzsLF9fXw0aNCiXtkj+QGBDrlu6dKmqVq2qKlWq6Pnnn9fnn3+e6X9Sb+fo0aPasGGDwsLC9NVXX+mzzz5T27Zt9eeffyoqKkrvvfeeRo8erR07dpiveeaZZ3TmzBlt2LBBMTExeuihh9S8eXOdO3fOarmrVq3S2rVrtXbtWkVFRendd9+VJM2YMUOBgYHq06ePTp06pVOnTsnPz09//fWX2rRpo/r162vPnj2aM2eOPvvsM/OalFOnTunZZ5/VCy+8oIMHDyoyMlIdO3bM1vtF1i5duqQvv/xS/v7+8vLyMqePHDlSr776qg4ePKjg4OAsX3u7z1qShg0bpqioKK1evVqbNm1SZGSk1S8fW1y7dk3BwcEqXLiwtm3bph9++EHu7u5q1aqVUlJSJElTpkzRggUL9Pnnn+v777/XuXPntHLlSqvlDB8+XCtWrNDChQu1e/du+fv7Kzg42Nx333zzTf3yyy/asGGDDh48qDlz5qh48eLZ6hW3d6fP8rXXXlPnzp3VqlUr8/uhcePG5utv3idnzJihKVOm6IMPPtDevXsVHBys9u3bWwUoSXrjjTf02muvKTY2VpUrV9azzz5r9cegG61bt05PPfWU2rRpo59//lkRERFq0KCBOb9nz5766aef9O233yo6OlqGYahNmzbmgCf9+/dXcnKytm7dqn379um9996Tu7t7LmxN3Itu3brp66+/tvodsmTJEvn6+uqRRx4xp33wwQeqU6eOfv75Z7355puKiYlR586d1bVrV+3bt0/jxo3Tm2++af6B6aefftKgQYM0YcIEHT58WGFhYWratOm//fZwj/bv36/t27ebR1Tv9PvDVr/99puWLl2qNWvWKCwsTD///LNeeeUVc/7FixcVEhKi77//Xj/++KMqVaqkNm3amH8IXbFihaZNm6aPP/5YR44c0apVq1SrVq2ce+P5kQHkssaNGxvTp083DMMwrl27ZhQvXtzYsmWLYRiGsWXLFkOScf78ecMwDGP+/PmGp6en+dqxY8cahQoVMhITE81pwcHBRrly5Yy0tDRzWpUqVYxJkyYZhmEY27ZtMzw8PIyrV69a9VGxYkXj448/vuVyhw0bZjRs2NB8/uijjxqvvvqq1TJef/11o0qVKkZ6ero5bdasWYa7u7uRlpZmxMTEGJKM48ePZ3Mr4WYhISGGo6Oj4ebmZri5uRmSjFKlShkxMTGGYRjGsWPHDEnmvpXBln3oxs/64sWLhpOTk7F06VJz/j///GO4urpaff6SjJUrV1qty9PT05g/f75hGIbxxRdfZNo3kpOTDVdXV2Pjxo2GYRhGqVKljMmTJ5vzr127ZpQuXdp48sknDcMwjEuXLhkFCxY0Fi1aZNakpKQYvr6+5uueeOIJo1evXrZsQtzg5v0p4zFx4kTDMKw/X1s+y5CQEPNzy3CrfdLX19dcT4b69esbr7zyitXr5s2bZ84/cOCAIck4ePCgYRiZ9+vAwECjW7duWb7XX3/91ZBk/PDDD+a0v//+23B1dTX381q1ahnjxo277TZD7slq/8lw47545swZo0CBAsbWrVvN+YGBgcaIESPM52XLljU6dOhgtYznnnvOaNGihdW0YcOGGdWrVzcMwzBWrFhheHh4WH0v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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "##Criar um gráfico de barras mostrando o total de vendas por categoria:\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.bar(total_por_categoria['Categoria'], total_por_categoria['Valor_Total'], color='green')\n", + "plt.xlabel('Categoria')\n", + "plt.ylabel('Valor Total de Vendas (R$)')\n", + "plt.title('Total de Vendas por Categoria')\n", + "plt.show()" + ] + } + ], + "metadata": { + "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.12.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/exercicios/para-casa/dados_vendas.csv b/exercicios/para-casa/dados_vendas.csv new file mode 100644 index 0000000..265fa70 --- /dev/null +++ b/exercicios/para-casa/dados_vendas.csv @@ -0,0 +1,366 @@ +Data,Categoria,Quantidade_Vendida,Preco_Unitario,Valor_Total +2023-10-13,Brinquedos,153,52.87,8089.11 +2023-05-25,Brinquedos,52,109.46,5691.92 +2023-04-24,Livros,123,42.9,5276.7 +2023-06-22,Roupas,51,32.85,1675.3500000000001 +2023-07-02,Livros,54,13.11,707.9399999999999 +2023-09-15,Brinquedos,82,78.56,6441.92 +2023-07-11,Eletrônicos,23,38.95,895.85 +2023-10-16,Livros,45,88.51,3982.9500000000003 +2023-10-25,Brinquedos,16,102.55,1640.8 +2023-11-12,Eletrônicos,33,33.9,1118.7 +2023-06-10,Alimentos,55,83.49,4591.95 +2023-06-26,Brinquedos,24,71.55,1717.1999999999998 +2023-01-02,Alimentos,120,85.52,10262.4 +2023-03-27,Eletrônicos,146,84.14,12284.44 +2023-01-22,Alimentos,83,43.78,3633.7400000000002 +2023-07-19,Livros,55,108.67,5976.85 +2023-04-22,Alimentos,9,51.65,464.84999999999997 +2023-03-18,Roupas,47,77.17,3626.9900000000002 +2023-09-09,Livros,42,90.94,3819.48 +2023-06-02,Brinquedos,124,83.65,10372.6 +2023-05-21,Livros,136,56.53,7688.08 +2023-08-07,Livros,33,84.57,2790.81 +2023-10-22,Alimentos,9,88.18,793.6200000000001 +2023-06-23,Eletrônicos,155,34.69,5376.95 +2023-02-14,Brinquedos,137,35.59,4875.830000000001 +2023-01-15,Eletrônicos,85,91.94,7814.9 +2023-04-23,Roupas,58,32.28,1872.24 +2023-12-28,Alimentos,48,24.18,1160.6399999999999 +2023-06-29,Roupas,158,27.81,4393.98 +2023-05-13,Brinquedos,110,33.41,3675.0999999999995 +2023-07-24,Eletrônicos,140,23.99,3358.6 +2023-07-17,Livros,91,74.89,6814.99 +2023-03-20,Alimentos,34,71.42,2428.28 +2023-01-17,Eletrônicos,89,89.03,7923.67 +2023-10-08,Alimentos,20,52.72,1054.4 +2023-01-28,Brinquedos,66,81.76,5396.160000000001 +2023-09-11,Alimentos,85,57.56,4892.6 +2023-11-17,Brinquedos,11,63.64,700.04 +2023-08-18,Eletrônicos,4,16.1,64.4 +2023-04-15,Alimentos,125,74.15,9268.75 +2023-06-08,Eletrônicos,49,16.1,788.9000000000001 +2023-01-14,Alimentos,128,92.75,11872.0 +2023-03-28,Brinquedos,107,35.13,3758.9100000000003 +2023-05-16,Brinquedos,159,103.63,16477.17 +2023-10-20,Alimentos,35,90.08,3152.7999999999997 +2023-04-14,Alimentos,74,47.53,3517.2200000000003 +2023-12-10,Alimentos,114,41.06,4680.84 +2023-11-03,Eletrônicos,47,34.56,1624.3200000000002 +2023-03-22,Eletrônicos,135,81.21,10963.349999999999 +2023-04-13,Livros,22,19.63,431.85999999999996 +2023-07-17,Roupas,99,81.57,8075.429999999999 +2023-08-10,Brinquedos,40,91.58,3663.2 +2023-07-14,Livros,153,65.27,9986.31 +2023-09-16,Livros,158,26.64,4209.12 +2023-07-17,Alimentos,68,108.67,7389.56 +2023-11-16,Brinquedos,53,30.19,1600.0700000000002 +2023-02-04,Eletrônicos,141,107.74,15191.34 +2023-01-19,Eletrônicos,92,30.31,2788.52 +2023-05-29,Livros,40,62.58,2503.2 +2023-01-16,Roupas,145,66.16,9593.199999999999 +2023-09-27,Alimentos,139,105.27,14632.529999999999 +2023-02-09,Eletrônicos,6,73.71,442.26 +2023-03-03,Brinquedos,96,106.1,10185.599999999999 +2023-06-15,Roupas,86,44.35,3814.1 +2023-03-12,Roupas,61,30.27,1846.47 +2023-09-21,Roupas,20,89.68,1793.6000000000001 +2023-09-17,Brinquedos,87,22.24,1934.8799999999999 +2023-07-01,Eletrônicos,79,53.08,4193.32 +2023-02-07,Brinquedos,105,99.53,10450.65 +2023-07-18,Roupas,111,105.45,11704.95 +2023-04-14,Alimentos,147,40.98,6024.0599999999995 +2023-04-26,Alimentos,116,25.65,2975.3999999999996 +2023-06-13,Livros,40,69.6,2784.0 +2023-10-20,Livros,116,69.94,8113.04 +2023-09-17,Eletrônicos,55,31.61,1738.55 +2023-01-22,Eletrônicos,28,89.59,2508.52 +2023-07-10,Livros,151,22.7,3427.7 +2023-12-24,Eletrônicos,103,21.37,2201.11 +2023-05-04,Roupas,62,95.54,5923.4800000000005 +2023-12-29,Alimentos,8,35.35,282.8 +2023-03-07,Brinquedos,105,59.07,6202.35 +2023-03-14,Brinquedos,20,54.28,1085.6 +2023-08-06,Alimentos,48,63.26,3036.48 +2023-11-16,Eletrônicos,81,72.1,5840.099999999999 +2023-07-15,Roupas,57,50.22,2862.54 +2023-02-19,Roupas,67,66.84,4478.280000000001 +2023-04-09,Roupas,39,50.38,1964.8200000000002 +2023-10-28,Eletrônicos,20,105.6,2112.0 +2023-08-21,Livros,84,61.3,5149.2 +2023-08-31,Brinquedos,127,14.87,1888.49 +2023-06-12,Alimentos,158,68.02,10747.16 +2023-10-13,Alimentos,129,79.29,10228.410000000002 +2023-04-25,Alimentos,61,17.67,1077.8700000000001 +2023-04-08,Livros,93,75.15,6988.950000000001 +2023-06-21,Livros,50,14.01,700.5 +2023-05-23,Brinquedos,141,77.71,10957.109999999999 +2023-06-04,Livros,125,33.92,4240.0 +2023-08-23,Roupas,62,38.49,2386.38 +2023-02-18,Brinquedos,96,93.97,9021.119999999999 +2023-10-22,Roupas,33,14.18,467.94 +2023-10-18,Eletrônicos,140,88.61,12405.4 +2023-03-31,Livros,22,10.41,229.02 +2023-12-08,Eletrônicos,47,96.35,4528.45 +2023-09-19,Livros,37,46.42,1717.54 +2023-09-15,Livros,61,23.55,1436.55 +2023-10-24,Livros,103,22.37,2304.11 +2023-01-23,Eletrônicos,69,100.58,6940.0199999999995 +2023-08-17,Eletrônicos,123,58.98,7254.54 +2023-12-06,Livros,107,53.48,5722.36 +2023-11-18,Eletrônicos,96,32.78,3146.88 +2023-08-02,Alimentos,149,18.51,2757.9900000000002 +2023-11-24,Brinquedos,86,19.27,1657.22 +2023-10-05,Livros,63,88.6,5581.799999999999 +2023-11-02,Brinquedos,6,33.16,198.95999999999998 +2023-06-02,Livros,148,106.8,15806.4 +2023-08-15,Alimentos,95,70.22,6670.9 +2023-06-23,Roupas,101,29.93,3022.93 +2023-05-31,Eletrônicos,135,81.99,11068.65 +2023-01-06,Brinquedos,55,107.14,5892.7 +2023-01-04,Alimentos,115,76.58,8806.699999999999 +2023-03-03,Alimentos,134,105.76,14171.84 +2023-09-25,Brinquedos,89,36.32,3232.48 +2023-03-20,Roupas,11,64.05,704.55 +2023-12-11,Roupas,38,52.53,1996.14 +2023-02-13,Livros,36,50.01,1800.36 +2023-07-14,Livros,37,64.56,2388.7200000000003 +2023-03-09,Roupas,117,62.94,7363.98 +2023-12-27,Roupas,17,19.04,323.68 +2023-05-27,Livros,118,98.6,11634.8 +2023-05-28,Brinquedos,56,61.94,3468.64 +2023-01-28,Brinquedos,2,94.28,188.56 +2023-09-29,Brinquedos,102,36.6,3733.2000000000003 +2023-02-18,Alimentos,1,22.73,22.73 +2023-10-07,Brinquedos,122,77.22,9420.84 +2023-10-14,Roupas,108,43.58,4706.639999999999 +2023-09-16,Livros,128,76.36,9774.08 +2023-08-06,Eletrônicos,21,45.34,952.1400000000001 +2023-04-07,Livros,127,49.22,6250.94 +2023-07-03,Livros,60,18.74,1124.3999999999999 +2023-08-06,Alimentos,33,48.79,1610.07 +2023-04-01,Alimentos,12,68.31,819.72 +2023-11-02,Alimentos,120,21.35,2562.0 +2023-09-10,Livros,95,36.79,3495.0499999999997 +2023-02-18,Brinquedos,106,32.06,3398.36 +2023-06-14,Brinquedos,43,18.58,798.9399999999999 +2023-03-14,Alimentos,125,98.15,12268.75 +2023-04-23,Brinquedos,11,96.09,1056.99 +2023-05-17,Livros,107,39.62,4239.34 +2023-06-24,Roupas,128,30.87,3951.36 +2023-10-26,Eletrônicos,92,85.4,7856.8 +2023-08-30,Eletrônicos,2,10.21,20.42 +2023-07-19,Brinquedos,73,64.33,4696.09 +2023-03-08,Roupas,118,109.07,12870.259999999998 +2023-11-15,Brinquedos,138,41.92,5784.96 +2023-09-23,Eletrônicos,146,80.28,11720.880000000001 +2023-12-17,Eletrônicos,112,18.91,2117.92 +2023-10-07,Roupas,3,54.25,162.75 +2023-12-10,Eletrônicos,40,22.87,914.8000000000001 +2023-11-21,Alimentos,34,106.43,3618.6200000000003 +2023-01-06,Alimentos,65,64.11,4167.15 +2023-03-02,Brinquedos,37,65.7,2430.9 +2023-11-16,Livros,35,17.05,596.75 +2023-07-13,Eletrônicos,132,25.67,3388.44 +2023-06-30,Livros,60,56.53,3391.8 +2023-06-17,Roupas,142,80.2,11388.4 +2023-11-06,Alimentos,21,39.5,829.5 +2023-12-14,Alimentos,13,93.6,1216.8 +2023-08-26,Livros,98,45.19,4428.62 +2023-09-20,Livros,87,101.38,8820.06 +2023-05-28,Brinquedos,135,52.15,7040.25 +2023-12-31,Alimentos,88,104.18,9167.84 +2023-10-15,Roupas,16,25.42,406.72 +2023-03-16,Livros,24,60.53,1452.72 +2023-10-13,Roupas,9,95.67,861.03 +2023-06-10,Roupas,66,72.56,4788.96 +2023-09-09,Alimentos,32,92.46,2958.72 +2023-07-29,Eletrônicos,110,84.64,9310.4 +2023-12-09,Alimentos,101,10.62,1072.62 +2023-07-01,Alimentos,41,25.83,1059.03 +2023-12-05,Brinquedos,132,103.36,13643.52 +2023-07-29,Alimentos,60,64.07,3844.2 +2023-02-02,Roupas,104,90.32,9393.279999999999 +2023-02-01,Livros,102,21.84,2227.68 +2023-07-21,Roupas,127,58.71,7456.17 +2023-07-07,Roupas,128,70.52,9026.56 +2023-01-28,Livros,153,73.6,11260.8 +2023-02-20,Roupas,61,17.34,1057.74 +2023-01-16,Roupas,12,80.71,968.52 +2023-11-17,Roupas,86,24.26,2086.36 +2023-01-16,Eletrônicos,2,30.21,60.42 +2023-05-08,Livros,25,90.72,2268.0 +2023-11-02,Roupas,37,26.74,989.38 +2023-12-29,Roupas,90,38.23,3440.7 +2023-04-23,Alimentos,126,12.32,1552.32 +2023-06-15,Livros,95,67.54,6416.3 +2023-09-01,Roupas,25,36.67,916.75 +2023-07-30,Eletrônicos,5,28.46,142.3 +2023-06-02,Livros,87,10.54,916.9799999999999 +2023-01-04,Brinquedos,134,11.64,1559.76 +2023-03-04,Alimentos,94,106.82,10041.08 +2023-01-18,Livros,159,100.69,16009.71 +2023-04-11,Livros,32,79.59,2546.88 +2023-09-11,Livros,23,53.38,1227.74 +2023-01-30,Livros,60,45.15,2709.0 +2023-10-16,Roupas,95,48.35,4593.25 +2023-03-29,Alimentos,126,18.42,2320.92 +2023-06-27,Roupas,30,61.4,1842.0 +2023-03-19,Livros,36,68.21,2455.56 +2023-11-30,Roupas,24,97.22,2333.2799999999997 +2023-11-09,Livros,16,102.25,1636.0 +2023-03-20,Eletrônicos,38,94.19,3579.22 +2023-01-13,Eletrônicos,85,103.33,8783.05 +2023-07-15,Eletrônicos,23,49.16,1130.6799999999998 +2023-12-26,Livros,92,106.95,9839.4 +2023-03-14,Eletrônicos,66,85.97,5674.0199999999995 +2023-07-30,Livros,50,61.08,3054.0 +2023-12-08,Roupas,126,96.18,12118.68 +2023-11-05,Roupas,98,10.29,1008.42 +2023-09-28,Livros,29,100.5,2914.5 +2023-03-28,Alimentos,112,62.83,7036.96 +2023-01-03,Alimentos,118,18.53,2186.54 +2023-06-02,Eletrônicos,147,67.06,9857.82 +2023-02-14,Eletrônicos,152,28.81,4379.12 +2023-02-18,Eletrônicos,63,11.64,733.32 +2023-04-16,Brinquedos,98,73.45,7198.1 +2023-03-24,Livros,11,103.55,1139.05 +2023-08-24,Brinquedos,58,78.45,4550.1 +2023-08-19,Eletrônicos,117,49.02,5735.34 +2023-11-26,Livros,16,71.15,1138.4 +2023-03-08,Livros,135,79.33,10709.55 +2023-03-03,Livros,51,103.81,5294.31 +2023-06-02,Roupas,140,99.53,13934.2 +2023-08-08,Brinquedos,13,17.56,228.27999999999997 +2023-07-09,Livros,89,43.05,3831.45 +2023-03-27,Alimentos,100,54.11,5411.0 +2023-09-27,Livros,124,24.95,3093.7999999999997 +2023-05-05,Livros,10,105.02,1050.2 +2023-01-25,Alimentos,19,40.05,760.9499999999999 +2023-08-20,Livros,124,63.96,7931.04 +2023-08-10,Livros,26,27.05,703.3000000000001 +2023-08-15,Eletrônicos,25,49.71,1242.75 +2023-02-01,Livros,81,58.61,4747.41 +2023-10-18,Brinquedos,53,67.29,3566.3700000000003 +2023-01-19,Brinquedos,87,23.55,2048.85 +2023-11-19,Alimentos,156,53.08,8280.48 +2023-07-08,Alimentos,155,103.39,16025.45 +2023-12-11,Eletrônicos,95,70.52,6699.4 +2023-06-19,Brinquedos,88,40.75,3586.0 +2023-07-26,Roupas,64,46.58,2981.12 +2023-12-13,Brinquedos,90,93.6,8424.0 +2023-07-29,Brinquedos,123,83.15,10227.45 +2023-10-08,Eletrônicos,49,58.07,2845.43 +2023-05-12,Roupas,59,103.03,6078.77 +2023-08-01,Livros,42,80.17,3367.14 +2023-07-21,Eletrônicos,10,55.02,550.2 +2023-04-05,Livros,26,39.64,1030.64 +2023-05-02,Brinquedos,72,92.35,6649.2 +2023-09-12,Alimentos,37,83.74,3098.3799999999997 +2023-10-31,Brinquedos,89,53.5,4761.5 +2023-01-04,Roupas,11,22.12,243.32000000000002 +2023-11-10,Eletrônicos,90,86.04,7743.6 +2023-03-12,Livros,33,62.51,2062.83 +2023-01-07,Brinquedos,148,85.65,12676.2 +2023-05-01,Brinquedos,108,100.78,10884.24 +2023-01-05,Alimentos,81,63.16,5115.96 +2023-05-07,Roupas,145,19.67,2852.15 +2023-06-29,Roupas,100,12.05,1205.0 +2023-06-19,Brinquedos,154,26.57,4091.78 +2023-08-18,Roupas,117,46.88,5484.96 +2023-06-16,Roupas,41,62.15,2548.15 +2023-02-17,Eletrônicos,29,47.4,1374.6 +2023-12-10,Eletrônicos,36,41.25,1485.0 +2023-09-29,Brinquedos,73,100.45,7332.85 +2023-12-22,Brinquedos,124,51.75,6417.0 +2023-11-20,Eletrônicos,53,96.34,5106.02 +2023-01-17,Livros,126,60.6,7635.6 +2023-04-28,Roupas,93,81.69,7597.17 +2023-11-07,Eletrônicos,63,67.8,4271.4 +2023-09-29,Alimentos,3,107.19,321.57 +2023-06-15,Eletrônicos,20,62.25,1245.0 +2023-05-18,Livros,63,74.27,4679.009999999999 +2023-01-31,Livros,43,83.27,3580.6099999999997 +2023-04-12,Livros,53,38.42,2036.26 +2023-05-27,Roupas,149,13.49,2010.01 +2023-12-11,Livros,69,77.44,5343.36 +2023-10-19,Brinquedos,116,49.14,5700.24 +2023-03-03,Livros,137,35.97,4927.889999999999 +2023-11-07,Alimentos,42,13.49,566.58 +2023-01-25,Roupas,96,103.15,9902.400000000001 +2023-08-07,Brinquedos,6,82.27,493.62 +2023-11-03,Alimentos,34,51.51,1751.34 +2023-01-18,Brinquedos,33,62.77,2071.4100000000003 +2023-12-12,Roupas,149,21.09,3142.41 +2023-05-23,Livros,99,82.1,8127.9 +2023-01-31,Brinquedos,94,44.72,4203.68 +2023-06-20,Brinquedos,79,15.18,1199.22 +2023-07-09,Livros,45,39.7,1786.5000000000002 +2023-04-16,Eletrônicos,90,46.06,4145.400000000001 +2023-03-03,Roupas,57,38.02,2167.1400000000003 +2023-09-25,Alimentos,92,44.28,4073.76 +2023-04-23,Eletrônicos,75,43.73,3279.7499999999995 +2023-11-01,Brinquedos,136,91.58,12454.88 +2023-03-25,Alimentos,65,18.31,1190.1499999999999 +2023-08-04,Livros,122,79.64,9716.08 +2023-08-12,Livros,89,78.67,7001.63 +2023-08-25,Livros,132,103.65,13681.800000000001 +2023-02-18,Alimentos,86,79.49,6836.139999999999 +2023-08-18,Livros,119,95.59,11375.210000000001 +2023-01-19,Livros,113,76.21,8611.73 +2023-01-31,Livros,67,42.66,2858.22 +2023-12-14,Brinquedos,154,19.75,3041.5 +2023-02-20,Roupas,113,60.93,6885.09 +2023-12-30,Brinquedos,75,45.86,3439.5 +2023-11-01,Livros,48,36.07,1731.3600000000001 +2023-03-11,Alimentos,9,104.11,936.99 +2023-06-28,Brinquedos,106,58.98,6251.88 +2023-04-11,Eletrônicos,54,27.1,1463.4 +2023-08-11,Livros,57,68.58,3909.06 +2023-08-12,Eletrônicos,55,81.17,4464.35 +2023-03-12,Eletrônicos,92,12.01,1104.92 +2023-04-05,Eletrônicos,47,16.65,782.55 +2023-07-08,Roupas,55,80.84,4446.2 +2023-10-20,Brinquedos,122,23.78,2901.1600000000003 +2023-04-24,Livros,147,68.45,10062.15 +2023-06-02,Brinquedos,120,32.25,3870.0 +2023-08-08,Livros,121,11.13,1346.73 +2023-08-30,Alimentos,126,71.09,8957.34 +2023-12-11,Alimentos,19,46.19,877.6099999999999 +2023-08-24,Livros,89,15.39,1369.71 +2023-07-19,Alimentos,118,74.88,8835.84 +2023-02-19,Livros,64,15.46,989.44 +2023-07-17,Eletrônicos,125,106.99,13373.75 +2023-09-22,Eletrônicos,88,28.31,2491.2799999999997 +2023-09-12,Brinquedos,104,38.66,4020.6399999999994 +2023-01-04,Brinquedos,130,66.09,8591.7 +2023-05-14,Brinquedos,26,69.71,1812.4599999999998 +2023-11-20,Brinquedos,132,25.94,3424.0800000000004 +2023-03-13,Brinquedos,114,105.49,12025.859999999999 +2023-06-01,Brinquedos,104,43.94,4569.76 +2023-09-30,Eletrônicos,10,50.76,507.59999999999997 +2023-05-01,Alimentos,134,29.35,3932.9 +2023-10-10,Livros,114,35.49,4045.86 +2023-07-12,Brinquedos,113,108.85,12300.05 +2023-08-29,Roupas,135,15.2,2052.0 +2023-06-04,Eletrônicos,109,90.12,9823.08 +2023-07-01,Brinquedos,30,74.41,2232.2999999999997 +2023-09-24,Brinquedos,90,67.42,6067.8 +2023-12-03,Eletrônicos,124,46.51,5767.24 +2023-11-19,Eletrônicos,39,91.62,3573.1800000000003 +2023-01-23,Livros,119,50.49,6008.31 +2023-01-18,Eletrônicos,36,73.05,2629.7999999999997 +2023-09-23,Livros,19,79.97,1519.43 +2023-05-14,Brinquedos,157,109.58,17204.06 +2023-03-24,Alimentos,54,85.35,4608.9 +2023-02-13,Eletrônicos,125,96.21,12026.25 +2023-02-03,Livros,17,44.96,764.32 +2023-01-17,Alimentos,154,14.74,2269.96 +2023-07-13,Brinquedos,39,10.11,394.28999999999996 +2023-02-15,Alimentos,55,84.84,4666.2 +2023-05-11,Roupas,101,48.12,4860.12 +2023-04-02,Eletrônicos,118,67.36,7948.48 +2023-01-11,Roupas,46,50.7,2332.2000000000003 +2023-06-15,Brinquedos,59,72.05,4250.95 +2023-08-20,Eletrônicos,113,42.17,4765.21 +2023-04-24,Livros,85,55.89,4750.65