{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "5505d2e3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Päivitetty 2023-12-09 / Aki Taanila\n" ] } ], "source": [ "from datetime import datetime\n", "print(f'Päivitetty {datetime.now().date()} / Aki Taanila')" ] }, { "cell_type": "markdown", "id": "87d52bcb", "metadata": {}, "source": [ "# Keskiarvoja pylväinä\n", "\n", "Tässä muistiossa käytän **seaborn**-funktioita **barplot** ja **catplot**.\n", "\n", "Kaavioiden muotoiluun käytän **matplotlib.pyplot**-funktioita. Jos kaipaat lisää muotoiluja, niin lue https://matplotlib.org/stable/tutorials/introductory/pyplot.html" ] }, { "cell_type": "code", "execution_count": 2, "id": "6cf278ec", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
speciesislandbill_length_mmbill_depth_mmflipper_length_mmbody_mass_gsex
0AdelieTorgersen39.118.7181.03750.0Male
1AdelieTorgersen39.517.4186.03800.0Female
2AdelieTorgersen40.318.0195.03250.0Female
3AdelieTorgersenNaNNaNNaNNaNNaN
4AdelieTorgersen36.719.3193.03450.0Female
........................
339GentooBiscoeNaNNaNNaNNaNNaN
340GentooBiscoe46.814.3215.04850.0Female
341GentooBiscoe50.415.7222.05750.0Male
342GentooBiscoe45.214.8212.05200.0Female
343GentooBiscoe49.916.1213.05400.0Male
\n", "

344 rows × 7 columns

\n", "
" ], "text/plain": [ " species island bill_length_mm bill_depth_mm flipper_length_mm \\\n", "0 Adelie Torgersen 39.1 18.7 181.0 \n", "1 Adelie Torgersen 39.5 17.4 186.0 \n", "2 Adelie Torgersen 40.3 18.0 195.0 \n", "3 Adelie Torgersen NaN NaN NaN \n", "4 Adelie Torgersen 36.7 19.3 193.0 \n", ".. ... ... ... ... ... \n", "339 Gentoo Biscoe NaN NaN NaN \n", "340 Gentoo Biscoe 46.8 14.3 215.0 \n", "341 Gentoo Biscoe 50.4 15.7 222.0 \n", "342 Gentoo Biscoe 45.2 14.8 212.0 \n", "343 Gentoo Biscoe 49.9 16.1 213.0 \n", "\n", " body_mass_g sex \n", "0 3750.0 Male \n", "1 3800.0 Female \n", "2 3250.0 Female \n", "3 NaN NaN \n", "4 3450.0 Female \n", ".. ... ... \n", "339 NaN NaN \n", "340 4850.0 Female \n", "341 5750.0 Male \n", "342 5200.0 Female \n", "343 5400.0 Male \n", "\n", "[344 rows x 7 columns]" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set_style('whitegrid')\n", "\n", "penguins = sns.load_dataset('penguins') # Tietoja pingviineistä\n", "penguins" ] }, { "cell_type": "markdown", "id": "a9302149", "metadata": {}, "source": [ "## Useiden muuttujien keskiarvot\n", "\n", "**barplot** esittää keskiarvoja pylväskaaviona. Pylvään päässä näkyvä viiva kuvaa keskiarvon 95 % luottamusväliä.\n", "\n", "**orient**-parametrilla voin vaihtaa pystypylväskaavion vaakapylväskaavioksi.\n", "\n", "Lisätietoa https://seaborn.pydata.org/generated/seaborn.barplot.html" ] }, { "cell_type": "code", "execution_count": 3, "id": "6256bf17", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 0, 'Keskiarvo')" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(4, 3))\n", "sns.barplot(data=penguins[['bill_length_mm', 'bill_depth_mm']], orient='h')\n", "\n", "plt.title('Nokan pituus ja leveys')\n", "plt.xlabel('Keskiarvo')" ] }, { "cell_type": "markdown", "id": "39180703", "metadata": {}, "source": [ "## Muuttujan keskiarvot kategorisen määrittämissä ryhmissä" ] }, { "cell_type": "code", "execution_count": 4, "id": "eb3f7f54", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Keskiarvo')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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r7F9+3bDMC68zu3btze++uoro6ioyHjvvfeMP/zhD8bJkyfN7ZMnTzYMwzAKCwuNhx56yHj++eeNX3/91cjOzjaef/55Y9CgQUZRUZFx6NAho0OHDkZsbKzx22+/GUeOHDGCgoKM2bNnX98X4xppD6EeO378ODt27CA8PByARx99lPT0dHbu3Mnx48fZtWsXUVFRODk50aJFC/7617+a+37xxRcUFhby/PPP06BBA1q0aMGzzz5b5bMhrrbfje7s2bMA5ntgXcmIESNo0qQJDg4O9OnTh6NHj1523lGjRnHbbbfRpEkTAgICzCeLHRwcSE1NZePGjZw6dYo5c+Zc8fi0t7c3Hh4e3HbbbdjZ2fHBBx8wdOhQCgsLOX78OC4uLpw6dco8v5WVFdOnT8fJyYl77rmHkSNHVvg0fDMp3+tq3ry5edo333xDly5d6NKlCyaTib59+/L+++/Tu3dvHnroIWxsbOjUqROPPvpohX/b5Xtstra2DB48mJKSkkuO765du8jIyGDmzJk0btyY2267jZkzZ5Kamsp3331HQkICnp6e/PnPf8be3p67776bCRMmEB8fX627jtaVm+rmdjebd999l+LiYoKDg83TiouLWbVqFaNHjwbgzjvvNLe1bt3a/Pvx48c5e/YsXbt2NU8zDIOioiKysrIuu86q+t1+++01sm31TdOmTQHIzMzknnvuqdR+8Q0TXVxczNPt7OyueG7h4oCxtbU135N+1KhR2Nvbs3btWmbNmkWrVq2YMGECDz300CWXc8cdd5h/t7GxITk5mVGjRnH+/Hnc3d0rLBvA2dkZV1dX898tWrSocDjjZlI+dqdOneLee+8FwM/Pj127dgEXLqB46623OH78OElJSXTp0sXct6SkpML/m/JlwYWxhUvfNjorKwtXV1ecnJzM05ycnHBxceH48eNkZWXRqlWrCn3uuusuCgoKyMrKqrCe+kSBUE/99ttvrF27lujoaLp3726e/tNPPzF69GiefvppADIyMrj//vuB//9JCS58WmrdujWffPKJeVpubi5ZWVnm4+OXcrX9bnQtW7bEw8ODzZs3VwhDuPCf39/fn7lz59bY+tLS0ggICGD48OHk5OTw7rvvMn78eJKSki45/8W3Y9+3bx+zZ8/m/fffp0OHDgCsWrWKw4cPm+fJyckhPz/f/DyQY8eOVfjwcDNp2bIlXl5exMfH061bt8vO17x5cwYNGsSsWbPM006fPl2tB8dcap2//PILubm55lDIycnhl19+oWnTprRs2ZKtW7dW6HP06FHs7e1xdna2eH21RYeM6qmEhASsrKwICgqiefPm5p+ePXvi4eHBpk2beOCBB5g7dy7Z2dlkZmby1ltvmfv7+/uTl5fHihUrKCws5Ndff2Xy5MmMHz/+is96uNp+N4OXXnqJdevW8dZbb/HLL79gGAY//vgjY8aMoX379vTt27fG1hUfH8+kSZPIysrCyckJJycnGjZsiL29PQ0aNAAuvMFcSk5ODtbW1jg4OAAXHpKyevXqCicsS0pKmD9/Pr/99hs///wzK1euvKnv+jtnzhx27NjBSy+9xOHDhzEMg9zcXDZu3Mibb77JHXfcQVhYGB999BFfffUVpaWlHDlyhCeffJJVq1ZVax329vbmMfHy8sLd3Z3p06eTk5NDTk4OM2bMoHXr1nTq1In+/ftz6NAh3nnnHQoLCzl69CgLFy4kKCioXt9iX4FQT7377rsEBQWZd1sv9thjj/Hhhx/yyiuv0LhxY/z9/Rk8eHCFPQknJydiY2PNV5z06dMHa2vrKq+jvtp+NwMfHx/WrFnDDz/8QP/+/enUqRPjxo2jW7durFix4pJjcbWef/557r77bvN61q9fz9KlS2nQoAEeHh507tyZP/3pT5e8XLJHjx4MHTqU8PBwunbtysyZM4mIiODs2bOcOXPGPJ+zszO9e/dm2LBhDBo0iJEjR9ZY/fWNh4cHH330EQ4ODowZM4bOnTvTq1cv/u///o+RI0eyevVq/vjHP7Jw4UIWLlxI165defLJJwkICGDChAnVWscjjzzC7t27efDBB7G1tWXZsmUUFxfTt29f/P39KSoq4p///Ce2trbcddddrFixgk8//ZTu3bszdOhQevTowcsvv3ydX4lro7uditxkkpOTGTZsGGlpaXVditxgtIcgIiKAAkFERMrokJGIiADaQxARkTIKBBERARQIIiJSRoEgIiKAAkFERMooEOSmFhAQgJeXFyaTCZPJhLe3Nw888ADz588337Rs5MiR/OMf/7iudZw4cQKTycSJEyeAC886KL/5miX9LHHxU/Gq8o9//MP8TeZNmzbRv39/i9cnNz5ddio3tYCAAP76178SGhpqnpaWlsbw4cN54oknGDduXB1Wd32V3+XzP//5T12XIjcI7SHILcfT05OuXbvyww8/ABAREcGbb74JXPmpWXDhMYrjx4+nc+fO9O7dm3/961+0a9eOY8eOMWnSpEr3xXnuueeYOXOm+Qlqx44dM9dQ/mzmgIAAli1bRkhICCaTiZCQEPNdTy/V71//+hd9+/bFZDLx+OOPV/sWFWvXriU0NBRfX19MJhPPPPOM+TkQb775JhEREYBlexZyc1EgyC2lqKiI5ORkkpKS6NGjxyXnWb9+PREREaSkpDBq1CjmzZtnfvhMVFQUOTk5fPbZZ8THx/P555+bn4fw6KOPsm3bNnJzcwH49ddf+c9//lOtu4yuW7eON954g6+//pq2bdsyY8aMy8778ccfs2bNGrZv346joyOvvPJKlcvfv38/f//735kxYwbJycls2bKFI0eOVAg7EQWC3PRmzpxpfnqWn58fs2fPZsSIETz55JOXnP9yT806deoUX331FS+++CIuLi64ubnx4osvmvt16dKFFi1asGXLFgA++ugj7rvvPtq3b19ljWFhYdx99904OjoSFBRkfrLapURERNC0aVMaN25Mv379rjhvufK7gXbs2JHs7GxOnz6Nm5tbhaesiegBOXLTmz59eoVzCFW53FOz/ve//wEXnnxV7vdPxRoyZAgffvghQ4YMYcOGDQwZMqRa67zck9Wudd5y1tbWrF69moSEBBo2bIinpye5ublX9XAYuXlpD0GkmsqfOHb8+HHztIt/Bxg0aBD79u3j66+/Ji0tjQEDBtRqjZcTGxtLYmIiCQkJfPbZZyxdupSWLVvWdVlSzygQRKrpjjvuwN/fn1dffZXs7Gyys7MrHb93c3PD39+fadOm8dBDD9WbxyXm5uZia2uLnZ0dxcXFfPjhh+zYsYOioqK6Lk3qEQWCiAWio6OxsrLiwQcfZNCgQbRr1w6gwtPUHn30UY4fP16vHln51FNP0aJFC/z9/fnTn/7Epk2bGDp0KD/99FNdlyb1iL6HIGKBxMREOnfubH6ecVpaGiEhIezdu9f8LOQb0RtvvMHu3bt555136roUqUPaQxCxwPz584mJiaG4uJjc3FxiYmLo3r37DR0Gubm5/PzzzxVOVsutSYEgYoEFCxawd+9eunXrRkBAADY2NtX6HkB9ZRgGjzzyCPv37zd/MU1uXTpkJCIigPYQRESkjAJBREQABYKIiJRRIIiICKBAEBGRMgoEEREBFAgiIlJGgSAiIoACQUREyvw/7KBrbDnd+LoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(4, 3))\n", "sns.barplot(data=penguins, x='species', y='body_mass_g')\n", "\n", "plt.title('Pingviinin paino')\n", "plt.xlabel('Pingviinin laji')\n", "plt.ylabel('Keskiarvo')" ] }, { "cell_type": "markdown", "id": "b56c09c8", "metadata": {}, "source": [ "**hue**-parametrin avulla voin tarkastella frekvenssijakaumaa toisen kategorisen muuttujan määrittämissä ryhmissä." ] }, { "cell_type": "code", "execution_count": 5, "id": "a7a28e00", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAdEAAAE6CAYAAABJQGjaAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3i0lEQVR4nO3dfVhUdf7/8Se3guJyo4hm2B03rskmaiBalii6ZYgh1q5k6aaWWtqNpiWrlos31aZpyvb1JnLDdPGu6Gfl5nZjJiyVme4mSlkipigKAoLAcH5/+HW+TmjOjMAAvh7X5XU55/M557zPnMO85tzMOU6GYRiIiIiIzZwdXYCIiEhTpRAVERGxk0JURETETgpREREROylERURE7KQQFRERsZNCVERExE6uji6gsTKZTFRVVTm6DJEG5e7ujrOzvluLWEsh+guGYXD06FGKioocXYpIg3N2duaGG27A3d3d0aWINAlOumORpZ9//pmioiLatWtHy5YtcXJycnRJIg2ipqaGI0eO4ObmRqdOnbTti1hBe6IXMJlM5gBt06aNo8sRaXD+/v4cOXKE6upq3NzcHF2OSKOnkx8XOH8OtGXLlg6uRMQxzh/GNZlMDq5EpGlQiF6EDmPJ1UrbvohtFKIiIiJ2UohayVRT06zn1xQYNQ13iLEh5yUiTZcuLLKSi7MzSWu2c7CguN7ndUM7b/4y4nabxgkNDQXg/fff58Ybb7Roe+ONN5g/fz6PPfYYjz/++GWnFR0dzWOPPUZ8fLxNNdQ3J2cXTmycTtWJH+p1Pm5tb6Rt/Hybx4uOjub48eO4ulr+WYWHh7Nq1aq6Ku+yRo4cSUREhFXrWkSujELUBgcLitmXf9LRZVySr68vmzZt4umnn7YYvnHjRry8vBxUVd2qOvEDVUe/c3QZl/T88883ui8fIlJ/dDi3GYmNjeWdd96h5oJDwd9++y2VlZV06dLFPKy0tJSkpCQGDhxIt27duP322/nb3/520WlWVlby6quv0r9/fyIiIhg7diw//fRTvS9Lc3O59zE0NJR169YxaNAgbrnlFh599FH27t3LH/7wB8LDwxk2bJi5f2VlJQsWLOCuu+4iPDycqKgo5syZw8V+8m0YBqtXr2bQoEH07NmTESNGsHfv3gZbbpHmTiHajNx5551UVVXxxRdfmIetX7+ehIQEi34vv/wyhw8fZv369ezatYukpCQWLlx40XBcuHAhn3zyCampqWzfvp1bbrmFP/3pT5w9e7bel6c5seZ9zMjIYN26dfzzn//kq6++YsKECSQnJ7Njxw7c3d3NX3TefPNNtm/fzptvvsmuXbtYtmwZa9euJTMzs9Z816xZwxtvvMGrr77Kzp07iY+PZ/To0Zw4caLBll2kOVOINiOurq7ExsayadMmACoqKvjwww8ZOnSoRb/HH3+cRYsW4eXlxdGjR2nRogUABQUFFv0Mw2Dt2rU89dRTBAYG0qJFCyZOnEhVVRWffPJJQyxSk/P888/Ts2dPi39nzpyx6n184IEH8PHxoV27dgQHBzNw4EBuuukmWrZsSa9evcjPzwfgvvvuIzU1FX9/fwoKCqioqKBVq1YcO3asVj1paWk88sgjdO7cGTc3NxISErjpppt49913G+otEWnWdE60mYmPj+f++++ntLSUjz76iO7du+Pv72/Rp7CwkOTkZP773/9y7bXX0rVrVwCLw8AAJ0+e5MyZM0yePNnipuRVVVXmD3SxNGvWrFrnRAsLC616H318fMz/d3Fxwdvb2/za2dnZfLi2vLycF154gezsbNq3b0+XLl0wDKPW+gPIz89nwYIFvPzyy+Zh1dXV5nUuIldGIdrMdO7cmRtvvJH333+fjIwMHnrooVp9Jk+eTHR0NCtXrsTV1ZVTp07xj3/8o1Y/X19fWrRowapVq+jWrZt5+A8//EBAQEB9LkazYu37aO2NDpKSkvD29ubzzz+nRYsW1NTUcOutt160b/v27Zk0aRKDBw82Dzt06JBFYIuI/XQ4txmKj48nNTWVgwcPcscdd9RqLykpwcPDAxcXF06ePMlf/vIXgFqPfnN2diYhIYG//vWvHD16lJqaGjZt2sQ999yji4tsUNfvY2lpKS1atMDZ2ZnS0lJefPFFSktLL/rovvvuu4+UlBS+//57ALZv387gwYPJzs6+4uUSEe2J2uSGdt6X79QI5nPPPfewYMECHnrooVq/WQSYN28ec+fOZdWqVXh7e3P33XfTpUsX9u/fz2233WbRd9q0aSxZsoQRI0ZQVFREYGAgixcvtrjatyG5tb3x8p0a4Tzq8n1MSkpi5syZRERE0KpVK+68805uv/129u/fX6vvqFGjMAyDCRMmUFBQQEBAADNnzqR///51sVgiVz09Cu0CFRUVHDx4kBtuuAEPDw+LNlNNDS4N+LDihp5fU2DUmHBydml282pMfu1vQERq06e0lRo60BSgtTVkqF2NASoittMntYiIiJ0UoiIiInZSiIqIiNhJISoiImInhehFXOzOLyJXA12sL2Ib/U70Aud/U5mfn0+7du1wc3Oz+i4yIk2dYRjmG9M7OztjMunB5HL1On8rTVdXV4vbdf6Sfid6gcrKSvbs2QOcu3cpWH8rNpGm7vyHhj4SRP5PWFgY7u7ul2zXnugFzn/bOH9z7urqakeWI9Lg3NzczF8gRa5mJpOJPXv2/OpeKChELZzf63R1dcXFxcX8iDAREbk6Xe5opC4sEhERsZNCVERExE4KURERETspREVEROykEBUREbGTQlRERMROClERERE7KURFRJqIpUuXEhMTw9KlSx1divwvhaiISBNQUVHB5s2bqampYfPmzVRUVDi6JEEhKiLSJFRXV5ufMFVTU6PbkjYSClERERE7KURFROqIqRk9i7g5LUt90g3oRUTqiIuzM0lrtnOwoLjOp11TZXkOdGzKBzi7edT5fABuaOfNX0bcXi/Tbm4UoiIidehgQTH78k/W+XSdqivxvuD1gSNFGK6Xfs6lNAwdzhURaQIMZ2cMzj2Wy8AJ4zLPuZSGobUgItIUOLtS6d8ZAycq/TuDsw4kNgZaCyIiTUR5YATlgRGOLkMuoD1REREROylERURE7KQQFRERsZNCVERExE4KURERETspREVEROykEBUREbGTQlRERMROClERERE7KURFRETs5JAQ3bJlC126dCE8PNz8b+rUqQDs3r2b4cOHEx4eTnR0NOnp6Rbjbtq0iZiYGLp160Z8fDy7du0yt5lMJhYsWEDv3r0JDw9n/PjxFBQUNOiyiYjI1cMhIbpnzx7i4uLYtWuX+d9LL71EcXEx48aNY+jQoWRnZ5OcnMy8efP49ttvAcjKymLOnDnMnz+f7OxshgwZwvjx4ykvLwcgJSWFHTt2sGHDBrZv346HhwdJSUmOWEQREbkKOCxEu3btWmv41q1b8fHxITExEVdXV6KiooiNjSUtLQ2A9PR0Bg8eTI8ePXBzc2PUqFH4+vqyZcsWc/vYsWPp0KEDXl5ezJgxg88++4y8vLwGXT4REbk6NPhTXGpqavjPf/6Dp6cnK1aswGQycccddzBlyhQOHDhASEiIRf+goCDWr18PQG5uLsOGDavVvm/fPkpKSjh69KjF+G3btsXb25ucnBwCAwOtrtFkMl3BEorI1crFxcXRJdSpq/mz0Nplb/AQPXnyJF26dGHQoEEsXryYU6dOMW3aNKZOnYq/vz+enp4W/T08PDhz5gwAZWVll2wvKysDoGXLlrXaz7dZa8+ePbYulohc5Tw9PenSpYujy6hTOTk55tNlcnENHqJt27Y1H56Fcxve1KlTue+++4iPj6eiosKif0VFBa1atTL3vVi7r6+vOVx/ucIvHN9aYWFhze4bpYiIrUJDQx1dgsOYTCardqgaPET37dvHe++9x9NPP42TkxMAlZWVODs787vf/Y4333zTon9ubi7BwcEABAcHc+DAgVrtffv2xdvbm4CAAHJzc82HdI8fP05RUVGtQ8SX4+LiohAVkauePgcvr8EvLPLx8SEtLY0VK1ZQXV3NkSNHeOmll7j33nsZNGgQJ06cIDU1laqqKjIzM8nIyDCfB01ISCAjI4PMzEyqqqpITU2lsLCQmJgYAOLj40lJSSEvL4/S0lLmzp1LREQEnTp1aujFFBGRq0CD74m2b9+e119/nVdeeYWUlBRatGjB4MGDmTp1Ki1atGDVqlUkJyezePFi/Pz8SEpKolevXgBERUUxa9YsZs+ezbFjxwgKCmL58uX4+PgAMHHiRKqrq0lMTKSsrIzIyEgWLVrU0IsoIiJXCSfDMAxHF9FYmEwmvvnmG7p166bDGCJil8RF77Ev/6Sjy7ginTv6kfbEPY4uw6GszQPd9k9ERMROClERERE7KURFRETspBAVERGHWLp0KTExMSxdutTRpdhNISoiIg2uoqKCzZs3U1NTw+bNm2vdSKepUIiKiEiDq66upqamBjh3T/Xq6moHV2QfhaiIiFho09oDo6Z53Xy+vpanwW+2ICIijVtrD3ecnF04sXE6VSd+qJd5lFXWWLw+mjqKVu71s1/n1vZG2sbPr5dpK0RFROSiqk78QNXR7+pl2tXVToD//70u2E+Va9O7948O54qISINzcTJw4lxoOmPg4tT0AhQUoiIi4gAtXGBAx3KcMejfsZwWTfROqzqcKyIiDjEiqJQRQaWOLuOKaE9URETETgpREREROylERURE7KQQFRERsZNCVERExE4KURERETspREVEROykEBUREbGTQlRERMROClERERE7KURFRETspBAV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H6v3RKOjo3FycjLfI3fIkCE4OTkB536q8vHHHzNu3Lj6qVJERKQRsjpEt23bVp91iIiINDlWh2jHjh3rsw4REZEmx+afuIiIiMg5ClERERE7KURFRETspBAVERGxk0JURETETgpREREROylERURE7KQQFRERsZNCVERExE4KURERETspREVEROykEBUREbGTQlRERMROClERERE7KURFRETspBAVERGxk0JURETETgpREREROylERURE7KQQFRERsZNCVERExE4KURERETspREVEROykEBUREbGTQlRERMROClERERE7OTRET548SUxMDFlZWeZhu3fvZvjw4YSHhxMdHU16errFOJs2bSImJoZu3boRHx/Prl27zG0mk4kFCxbQu3dvwsPDGT9+PAUFBQ22PCIicnVxWIh+9dVX3H///Rw6dMg8rLi4mHHjxjF06FCys7NJTk5m3rx5fPvttwBkZWUxZ84c5s+fT3Z2NkOGDGH8+PGUl5cDkJKSwo4dO9iwYQPbt2/Hw8ODpKQkhyyfiIg0fw4J0U2bNjFlyhSefPJJi+Fbt27Fx8eHxMREXF1diYqKIjY2lrS0NADS09MZPHgwPXr0wM3NjVGjRuHr68uWLVvM7WPHjqVDhw54eXkxY8YMPvvsM/Ly8hp8GUVEpPlzdcRMb7vtNmJjY3F1dbUI0gMHDhASEmLRNygoiPXr1wOQm5vLsGHDarXv27ePkpISjh49ajF+27Zt8fb2Jicnh8DAQKvrM5lMNi2Pi4uLTf2l4dm6Tm2lbaDxq+9tALQdNHa2bAPW9nVIiPr7+190eFlZGZ6enhbDPDw8OHPmzGXby8rKAGjZsmWt9vNt1tqzZ4/VfT09PenSpYtN05eGl5OTYz7sX9e0DTQN9bkNgLaDpqA+tgGHhOileHp6UlJSYjGsoqKCVq1amdsrKipqtfv6+prD9Zdv0IXjWyssLEzfKJuZ0NBQR5cgDqZtQGzZBkwmk1U7VI0qRENCQtixY4fFsNzcXIKDgwEIDg7mwIEDtdr79u2Lt7c3AQEB5Obmmg/pHj9+nKKiolqHiC/HxcVFIdrMaH2KtgGpj22gUf1ONCYmhhMnTpCamkpVVRWZmZlkZGSYz4MmJCSQkZFBZmYmVVVVpKamUlhYSExMDADx8fGkpKSQl5dHaWkpc+fOJSIigk6dOjlysUREpJlqVHuivr6+rFq1iuTkZBYvXoyfnx9JSUn06tULgKioKGbNmsXs2bM5duwYQUFBLF++HB8fHwAmTpxIdXU1iYmJlJWVERkZyaJFixy3QCIi0qw5PERzcnIsXoeFhbF27dpL9o+LiyMuLu6ibW5ubkyZMoUpU6bUaY0iIiIX06gO54qIiDQlClERERE7KURFRETspBAVERGxk0JURETETgpREREROylERURE7KQQFRERsZNCVERExE4KURERETspREVEROykEBUREbGTQlRERMROClERERE7KURFRETspBAVERGxk0JURETETgpREREROylERURE7KQQFRERsZNCVERExE4KURERETspREVEROykEBUREbGTQlRERMROClERERE7KURFRETspBAVERGxk0JURETETs0uRAsLC5kwYQI9e/YkMjKS5ORkqqurHV2WiIg0Q80uRJ944glatmzJ9u3bWb9+PTt37iQ1NdXRZYmISDPUrEL0p59+4t///jdTp07F09OTwMBAJkyYQFpamqNLExGRZsjV0QXUpQMHDuDj40NAQIB52E033cSRI0c4ffo0v/nNb351fMMwAKisrMTFxcXq+bq4uBDc3ht3Fyf7Cm9EAtu0wmQy4eIfQo2zu6PLuWIuba7HZDJhMpnqdz7aBhqthtoGoPlsB9oGMPc9nwuX4mRcrkcT8s4777Bw4UI++eQT87BDhw4RExPDp59+Svv27X91/MrKSvbs2VPPVYqISFMRFhaGu/ulv0g0qz3Rli1bUl5ebjHs/OtWrVpddnxXV1fCwsJwdnbGyalpf5MUERH7GYZBTU0Nrq6/HpPNKkSDg4MpKirixIkTtG3bFoDvv/+e9u3b07p168uO7+zs/KvfOERERC7UrC4suv766+nRowdz586ltLSUvLw8li1bRkJCgqNLExGRZqhZnRMFOHHiBC+88AJZWVk4OzszdOhQpkyZYtOFQiIiItZodiEqIiLSUJrV4VwREZGGpBAVERGxk0JURETETgpREREROylERcQmP/74o6NLEAf56aefHF1Co6MQbYbS0tIIDQ297NNrsrKyCA0NtWqaGzduJDo6GoAvv/yS8PDwKy1TbHTw4EGmTZtG3759CQ8PZ8CAAbz88suUlZUBEBoaSlZW1kXHrat19t///pd77rnniqcjde/IkSPMmjWL6OhounXrRkREBA8//DA7duyok+kvWLCAlJSUOplWc6IQbYbS0tL44x//yOrVq+vlWao9e/Zk165ddT5dubSvv/6ae++9l44dO7J582Z27drF8uXL2b17N3/6058ue2PtulpnJSUlVFVVXfF0pG7t37+fIUOGUFlZyfLly/nqq6/YunUrQ4YMYeLEiXz66adXPI9Tp07VQaXNj0K0mdm5cyeFhYVMnz6dmpoaPvzwQ3NbQUEBjz76KN27d6d///61vqEeOnSIRx99lMjISPr168fChQuprKysNY9f7sFaO57Yb+bMmQwdOpRJkybh5+cHwA033MDChQtp06YNeXl5AOzYsYO4uDjCw8NJSEhg//79gOU6O3z4MKGhoaSnpxMdHU2PHj0YPXo0R48eBaC0tJQnn3ySyMhI+vTpw8MPP8z3339PXl4eY8eOBSA8PJxdu3Yxffp0Jk2axF133UWvXr04dOgQX3/9NQ8++CC33XYbYWFhxMfH880335jr6Nu3L6+++iqRkZFERkaSnJys7eUKzZw5kz59+jBv3jxuuukmXFxc8PHxIS4ujlmzZpm/+HzxxRckJCTQs2dPBg8ezLvvvmuexvTp05k5cyaPPvoo4eHh9O/fn9WrVwOwdOlSMjIyyMjIYMiQIQDk5+fzxBNPEBUVRZ8+fXj66acpKCgwT+/LL78kMTGRnj17Eh0dzaJFi5rnejakWRk/frzx8ssvG4ZhGK+//roRHx9vbhsxYoQxceJEo6SkxDhy5IgRFxdnhISEGIZhGGVlZUa/fv2Ml19+2aioqDCOHDliJCQkmKe1YcMGo1+/foZhGEZmZqbV48mV++mnn4yQkBAjOzv7V/uFhIQY999/v3H8+HGjvLzcGDNmjPGnP/3JMAzLdZaXl2eEhIQYEyZMMIqLi43jx48b99xzj/HnP//ZMAzDePXVV40xY8YY5eXlxtmzZ41p06YZjz76aK3pGIZhTJs2zejWrZuRk5NjFBcXG+Xl5UZERITx1ltvGSaTySgrKzMmT55s/PGPf7QYf/LkyUZJSYlx8OBBY8CAAcbChQvr+m27avz8889GSEiI8cUXX/xqv++++8743e9+Z3z44YdGdXW18dVXXxmRkZHGZ599ZhjGuXV58803G59//rlRVVVlvP3228Zvf/tb4+jRo+b2adOmGYZhGJWVlcbAgQONp556yjh9+rRRXFxsPPXUU8a9995rVFVVGd9//73RtWtXIzU11Th79qzx448/GrGxscacOXPq981wAO2JNiP5+fls376dxMREAO677z5yc3P597//TX5+Pl9++SVTpkzBy8uLDh068Nhjj5nH/eSTT6isrOSpp56iRYsWdOjQgcmTJ1/2geb2jifWO3nyJID5oQq/ZvTo0bRt2xYPDw8GDBjAoUOHLtl37Nix/OY3v6Ft27ZER0ebLxjy8PBg3759bN68mWPHjjF37txfPRfWrVs3QkJC+M1vfoObmxvr1q1jxIgRVFZWkp+fj4+PD8eOHTP3d3JyYtasWXh5eXH99dczZswYiz0isc35IwgXPupx586d9OzZk549exIeHs6gQYNYu3Yt/fv3Z+DAgbi4uNC9e3fuu+8+i7/V80cfXF1dGTZsGCaT6aLb0JdffkleXh7PP/88rVu35je/+Q3PP/88+/btY+/evWRkZBAaGspDDz2Eu7s71113HU8//TTp6enU1NTU/5vSgJrVU1yudmvWrKG6upq4uDjzsOrqalatWsW4ceMAuOaaa8xtnTp1Mv8/Pz+fkydPcuutt5qHGYZBVVUVhYWFl5zn5cZr06ZNnSzb1czf3x+A48ePc/3119dqv/CpRT4+Pubhbm5uv3qu9MJQdnV1NT98eOzYsbi7u7N+/XpeeOEFAgMDefrppxk4cOBFp9OuXTvz/11cXMjKymLs2LGcOXOGoKAgi2kDeHt74+vra37doUMHi8OAYpvz28exY8e44YYbAIiKiuLLL78Ezl0U+Nprr5Gfn09mZiY9e/Y0j2symSw+B85PC85tP8BFQ6+wsBBfX1+8vLzMw7y8vPDx8SE/P5/CwkICAwMtxrn22mupqKigsLDQYj5NnUK0mTh79izr168nOTmZ3r17m4fv37+fcePG8fDDDwOQl5fHTTfdBPzfN1g49y22U6dOfPDBB+ZhpaWlFBYWms/BXYy944n1OnbsSEhICFu2bLH4sgLnPsz69evHvHnz6mx+OTk5REdHM2rUKEpKSlizZg1PPvkkmZmZF+1/4bN3d+/ezZw5c1i7di1du3YFYNWqVRw8eNDcp6SkhPLycjw9PYFz52gv/HIntunYsSNhYWGkp6fTq1evS/Zr37499957Ly+88IJ5WEFBgcUXHFvmeerUKUpLS81BWlJSwqlTp/D396djx45s3brVYpxDhw7h7u6Ot7e3zfNrzHQ4t5nIyMjAycmJ2NhY2rdvb/7Xt29fQkJCePfdd7ntttuYN28excXFHD9+nNdee808fr9+/SgrK2PFihVUVlZy+vRppk2bxpNPPvmrDyi3dzyxzZ///Gc2bNjAa6+9xqlTpzAMg++++45HH32Um2++mUGDBtXZvNLT03nmmWcoLCzEy8sLLy8vWrZsibu7Oy1atADOfWBeTElJCc7Oznh4eADwzTffsHr1aosLSkwmEwsWLODs2bP88MMPrFy5Uo8rvEJz585l+/bt/PnPf+bgwYMYhkFpaSmbN29myZIltGvXjoSEBN577z0+//xzampq+PHHH3nggQdYtWqVVfNwd3c3r/ewsDCCgoKYNWsWJSUllJSUMHv2bDp16kT37t0ZPHgw33//PW+++SaVlZUcOnSIV155hdjY2Gb3zGaFaDOxZs0aYmNjzYdgLnT//ffzzjvv8OKLL9K6dWv69evHsGHDLPZYvby8SE1NNV89OWDAAJydnS/7uzB7xxPbRERE8NZbb/Hf//6XwYMH0717dyZNmkSvXr1YsWLFRde7vZ566imuu+4683w2btzIsmXLaNGiBSEhIfTo0YPbb7/9oj+b6NOnDyNGjCAxMZFbb72V559/npEjR3Ly5ElOnDhh7uft7U3//v158MEHuffeexkzZkyd1X81CgkJ4b333sPDw4NHH32UHj16cMcdd/CPf/yDMWPGsHr1am655RZeeeUVXnnlFW699VYeeOABoqOjefrpp62ax913383XX3/NnXfeiaurK6+//jrV1dUMGjSIfv36UVVVxRtvvIGrqyvXXnstK1as4MMPP6R3796MGDGCPn36MHPmzHp+JxqeHoUmIg0mKyuLBx98kJycHEeXIlIntCcqIiJiJ4WoiIiInXQ4V0RExE7aExUREbGTQlRERMROClERERE7KURFRETspBAVERGxk0JURKwWHh5uvrG5iOgnLiIiInbTnqhIE7ZkyRLuuOMOIiIiGDZsGNu2bTPfx/jVV18lMjKSyMhIkpOTzTeBNwyD1atXM2jQIHr27MmIESPYu3eveZonT55kypQp3HrrrURGRvLkk09SXFwMQGhoKFlZWcC5p/W88MIL3HHHHURFRfHkk09a3B/3YrWJNDcKUZEmKjMzk3Xr1pGenk5WVhbDhw9nxowZVFdXc+zYMQ4ePMi2bdtYt24dn3zyCcuWLQPOPazgjTfe4NVXX2Xnzp3Ex8czevRocwBOnjyZ0tJStm7dyrZt2zh9+jTPP/98rfk/99xz/PTTT2zcuJGPPvoILy8vHnvsMQzDuGRtVVVVDfoeidQ7Q0SapK+//tro2rWrsWTJEmPv3r1GdXW1UVNTY2RmZhqhoaHGyZMnzX3Xrl1r9OvXzzAMw7jrrruMt99+22Ja999/v7Fy5Urj8OHDRkhIiPHDDz+Y2woKCoz9+/cbhmEYISEhRmZmpnHixAkjJCTE+P777839zpw5Y3Tp0sXYs2fPJWsTaW70UG6RJio8PJwlS5bw97//nRUrVuDh4cHIkSPp3r073t7e+Pr6mvt26NCBgoICAPLz81mwYAEvv/yyub26upquXbty/Phx4NxDl8/z9/fH39/fYt75+fkA3HfffRbDXVxcOHz4ML///e8vWtv48eNxdtYBMGk+FKIiTdSRI0do06YNK1eupLKykp07d/LYY4+xZMkSSkpKKC8vx9PTE4DDhw9zzTXXANC+fXsmTZrE4MGDzdM6dOgQPj4+lJeXm6d9/fXXA5Cbm8t7773HE088Ye4fEBAAwPvvv28RsLm5uQQGBl6ytptvvpk777yzHt8VkYalr4QiTdSePXsYM2YM+/btw93dnTZt2gCwf/9+TCYTCxYs4OzZs/zwww+sXLmShIQE4NzeY0pKCt9//z0A27dvZ/DgwWRnZxMQEECfPn148cUXOX36NKWlpbz00kvk5eVZzDsgIIA777yT5ORkTp06RVVVFSkpKSQkJHD69OlL1nbh3rFIc6A9UZEmatCgQfz444+MHz+eU6dO0aZNG5577jluvPFGALy9venfvz8Af/jDHxgzZgwAo0aNwjAMJkyYQEFBAQEBAcycOdPc9+WXX2b+/PncddddVFdXEx0dzYwZM2rN/8UXX+Svf/0rQ4cOpbS0lODgYFasWIG/v/8la7vlllsa6N0RaRj6nahIM5OVlcWDDz5ITk6Oo0sRafZ0OFdERMROClERERE76XCuiIiInbQnKiIiYieFqIiIiJ0UoiIiInZSiIqIiNhJISoiImInhaiIiIidFKIiIiJ2UoiKiIjY6f8DHRa6Z8ZBeVsAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(5, 3))\n", "sns.barplot(data=penguins, x='species', y='body_mass_g', hue='sex')\n", "\n", "plt.legend(loc=(0, 1), ncol=2)" ] }, { "cell_type": "markdown", "id": "b3122911", "metadata": {}, "source": [ "## catplot\n", "\n", "**catplot** mahdollistaa keskiarvojen tarkastelun kategoristen muuttujien määrittämissä ryhmissä. **kind**-parametrin arvo **'bar'** määrittää että kaaviolajina on **barplot**.\n", "\n", "Seuraavassa tarkastelen pingviinien painon keskiarvoja alalajin (**species**) määrittämissä ryhmissä.\n", "\n", "Lisätietoa https://seaborn.pydata.org/generated/seaborn.catplot.html\n", "\n", "**catplot** tuottaa **Facetgrid**-luokan olion, jolla on omat funktionsa otsikointien ym. ominaisuuksien muotoiluun.\n", "Lisätietoa https://seaborn.pydata.org/generated/seaborn.FacetGrid.html" ] }, { "cell_type": "code", "execution_count": 6, "id": "8c6e28ea", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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rrlGq1atck3Lzc1Vdna2W9j4tctdD+WLr/aWJLVr107GGK1evVpdunRxm/fZZ59p+PDhvzkW9nI4nU599913Gj58uJ555hn9/PPPmjRpksaMGaOlS5dedJ0Lg31KSorWrVunFStWuILFI4884rb8r29wO3DggOrUqeO1fUDp8+Uebd++vex2u9LS0or8QfBrv7evnqpXr54++ugjt2n79u1TQECAgoODdfXVV2vfvn1u8/fv31/kjxlfwU2dPmTr1q0aOHCgtm/froCAANfV2fNXBQoLCzVlyhSdPXtWP/zwg+bMmaOePXtK+uWv+uTkZO3Zs0eSlJ6erq5du2rjxo0KCwtT27Zt9cILL+jUqVPKzc3Viy++qP3797s9f1hYmNq3b6+EhAQdP35c586dU3Jysnr27KlTp05dsr7LtWLFCtlsNsXExKh27dqun9tuu00NGzZUSkqK6tatq1tvvVWTJk3SyZMndeTIEb366quubXTo0EGnT5/W7Nmz5XA4dOrUKY0ePVojRoxwe7H/tctdD+WLr/aW9MvVsscee0zPPfec3n//fZ09e1bnzp3TmjVrFB8frwcffNCrYdZut2vixIlKTEzU2bNnVa1aNVWuXNm1L5UrVy5yxftCubm58vf3V6VKlVRQUKB3331X6enpbjeefv3113r33XdVWFiozz//XKtXr1aPHj28tg8ofb7co6GhoRo/frwmTZqkOXPmuN7VPXz4sJKTk/XBBx+43kX6vX0tjoCAAOXk5EiSunbtqj179uitt96Sw+HQvn379PLLLysmJkYBAQHq2bOnFi9erIyMDBUWFmr9+vVavHixz/YaV8h9SOfOnfXjjz9qyJAhOn78uKpXr65nnnlGTZs2dd0FHhwcrDvuuEOSdN9997k+F7hfv34yxmjo0KHKyspSWFiYnn32WdeyU6dO1eTJk9WlSxcVFBQoOjpaY8eOLVLDCy+8oJdeekmxsbHKzc1VgwYNNHv2bNWsWfN367sSCxYsUExMjCpVqlRkXq9evTRlyhQ98cQTeumll/T888+rQ4cOqlq1quLi4rRlyxZJUtWqVZWSkqLJkydr9uzZcjqdat26tZKTk3/3uS93PZQvvtpb5w0ePFh169bV/PnzNWHCBJ07d07XXnutnnjiCfXq1csrz3GhxMRETZgwQbfeequcTqdatWqlCRMmSPrl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3S7nyHs8PUd+fn6y2+2y2Tw79p70IefXu+jDss+Tc1QaPXj+eTi/3kEPln0l9VpoM+c7rwL4+OOPFR8frw0bNrim7dixQ926ddOXX36pP/zhD7+7vsPh0NatW0u6TMBnNGvWrFgv6BeiDwHvoQcB6xWnDyvUFfIGDRroxIkTOnr0qGrUqCFJ2rNnj2rXrn3JMC5J/v7+atKkyWVdUQBQlN3u+ag4+hDwHnoQsF5x+rBCXSGXpN69e6t27doaP368jh8/riFDhqhz584aPny41aUBAAAARVS4QH706FGNHz9eGzZskN1uV2xsrEaOHOnxW3YAAABAaahwgRwAAAAoTyrUxx4CAAAA5Q2BHAAAALAQgRwAAACwEIEcAAAAsBCBvBwJDw9XeHi4fvjhhyLz3nzzTYWHhyspKalY24qOjtayZcu8XWKFFx0drSZNmigyMtLtZ8CAAaVaR9++fYt9ruE99GDZQB/6NvrQevSg91WoLwbyBaGhoVq+fLn+/ve/u01ftmyZqlatalFVvuX5559XXFyc1WXAIvRg2UAf+jb60Hr0oHdxhbyciYmJ0bvvviun0+ma9s0338jhcKhRo0auabm5uYqPj1enTp3UrFkztWvXTq+99tpFt+lwOPTKK6/ojjvuUFRUlAYNGqSffvqpxPelornUcQwPD9fixYvVuXNnNW3aVI888oi2bdum++67T5GRkerRo4dreYfDoSlTpqhLly6KjIxUmzZtNGHCBF3sU0qNMZo7d646d+6sli1bqnfv3tq2bVup7bevoQfLNvrQN9CHZRc9eHkI5OVM+/btde7cOX3xxReuaampqerZs6fbclOnTtWBAweUmpqqzZs3Kz4+XtOmTbvoL5dp06ZpzZo1SklJUXp6upo2baoBAwbo7NmzJb4/FUlxjuOKFSu0ePFiffzxx9q0aZOGDh2qhIQErVu3TgEBAa4Xirfeekvp6el66623tHnzZs2cOVOLFi3S+vXrizzvggUL9Oabb+qVV15RRkaG4uLi1L9/fx09erTU9t2X0INlG33oG+jDsosevDwE8nLG399fMTExWr58uSQpPz9fH374oWJjY92WGz58uBITE1W1alUdOnRIlStXliRlZWW5LWeM0aJFi/Tkk0+qfv36qly5soYNG6Zz585pzZo1pbFL5c7zzz+vli1buv2cOXOmWMfxgQceUEhIiGrVqqUGDRqoU6dOuv7661WlShXdfPPNOnjwoCTp3nvvVUpKimrWrKmsrCzl5+frqquu0uHDh4vUM3/+fD388MOKiIhQpUqV1LNnT11//fV67733SuuQ+BR6sGygD30bfWg9etC7GENeDsXFxalXr17Kzc3VJ598oubNm6tmzZpuy2RnZyshIUHfffedrr76ajVu3FiS3N7ek6Rjx47pzJkzevzxx2W3///fZ+fOnXM1BNyNGzeuyLi57OzsYh3HkJAQ17/9/PwUHBzsemy3211vw+Xl5Wn8+PHauHGjateurUaNGskYU+T8SdLBgwc1ZcoUTZ061TWtoKDAdc7hffSg9ehD0IfWoge9i0BeDkVEROi6667TBx98oBUrVujBBx8ssszjjz+u6OhozZkzR/7+/jp+/LjeeeedIsuFhoaqcuXKeuONN9SsWTPX9B9++EFhYWEluRsVSnGPo81mK9b24uPjFRwcrLVr16py5cpyOp1q1arVRZetXbu2HnvsMXXt2tU1bd++fW6/8OBd9GDZRB/6Fvqw7KEHLx9DVsqpuLg4paSkaO/evbr99tuLzM/JyVFgYKD8/Px07NgxTZw4UdIvf6VeyG63q2fPnnrppZd06NAhOZ1OLV++XPfccw83s3jA28cxNzdXlStXlt1uV25url544QXl5uYWOX/SL2/pJScna8+ePZKk9PR0de3aVRs3brzi/cJvowfLHvrQ99CHZQs9ePkI5OXU+f/c3bp1k79/0Tc6Jk2apJUrV6p58+aKi4tTWFiYGjVqpJ07dxZZdvTo0WratKl69+6tli1bKiUlRdOnT3e7Ux2X5s3jGB8fr+3btysqKkp33XWXcnNz1a5du4uev379+ik2NlZDhw5VZGSkEhIS9Oyzz+qOO+7wxm7hN9CDZRN96Fvow7KHHrw8NnOxz44BAAAAUCq4Qg4AAABYiEAOAAAAWIhADgAAAFiIQA4AAABYiEAOAAAAWIhADgAAAFiIQA4AAABYiEAOAAAAWIhADgAAAFiIQA4AAABYiECOMiUpKUm33367oqKi1KNHD61evVqS9O2336pv375q1aqVOnXqpJSUFBljZIzRoEGDdN9996mwsFCSNGXKFHXu3Fm5ublW7gpQbtGHgLXoQR9kgDIiIyPDtG3b1hw+fNg4nU6zcOFC07p1a3PgwAHTokULM2/ePONwOMyuXbtMx44dzcKFC40xxhw9etS0bdvWvP766+Y///mPadq0qfn+++8t3hugfKIPAWvRg76JQI4y46uvvjKNGzc2SUlJZtu2baagoMA4nU7z+uuvm3vvvddt2UWLFpl77rnH9Xjt2rWmadOmpk2bNmbx4sWlXTpQYdCHgLXoQd9kM8YYq6/SA+etWbNGb7/9tjZt2qTAwED17dtXR44cUWpqqgIDA13LOZ1O+fn5aePGjZIkY4y6deumzMxMffbZZ/rjH/9o1S4A5R59CFiLHvQ9BHKUGZmZmcrOzlaTJk3kcDiUkZGhRx99VEOHDtWXX36pOXPmuJY9fvy4Tp8+rauvvlqS9Prrr+udd95RvXr1FBoaqsTERIv2Aijf6EPAWvSgb+KmTpQZW7du1cCBA7V9+3YFBASoevXqkqQWLVro66+/1nvvvaeCggJlZWXpkUce0eTJk13rJSUlafLkyZo8ebLWrl2r1NRUK3cFKLfoQ8Ba9KBv4go5ypRZs2Zp0aJFOn78uKpXr66BAwfq/vvv1+bNmzV16lTt2rVLfn5+at++vcaOHSubzaa//vWvuuOOOzR69GhJ0vLlyzV+/HgtW7ZMf/7zny3eI6D8oQ8Ba9GDvodADgAAAFiIISsAAACAhQjkAAAAgIUI5AAAAICFCOQAAACAhQjkAAAAgIUI5AAAAICFCOQAAACAhQjkAAAAgIUI5AAAAICFCOQAAACAhQjkAAAAgIUI5AAAAICF/heiOZ3YuEiixgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.catplot(data=penguins, x='sex', y='body_mass_g', col='species', kind='bar', height=2.5)" ] }, { "cell_type": "markdown", "id": "0b853431", "metadata": {}, "source": [ "## N-arvot!\n", "\n", "Keskiarvon laskennassa mukana olleiden arvojen lukumäärä täytyy aina keskiarvoja käytettäessä laskea ja keskiarvoja raportoitaessa n-arvojen täytyy olla näkyvillä. Pienten n-arvojen kohdalla keskiarvoihin täytyy suhtautua varoen.\n", "\n", "N-arvot voin selvittää **pandas**-funktiolla **count**. Seuraavassa muutama esimerkki." ] }, { "cell_type": "code", "execution_count": 7, "id": "f573f51a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "species 344\n", "island 344\n", "bill_length_mm 342\n", "bill_depth_mm 342\n", "flipper_length_mm 342\n", "body_mass_g 342\n", "sex 333\n", "dtype: int64" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "penguins.count() # Yksittäisten muuttujien n-arvot" ] }, { "cell_type": "code", "execution_count": 8, "id": "8cf29f63", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
islandbill_length_mmbill_depth_mmflipper_length_mmbody_mass_gsex
species
Adelie152151151151151146
Chinstrap686868686868
Gentoo124123123123123119
\n", "
" ], "text/plain": [ " island bill_length_mm bill_depth_mm flipper_length_mm \\\n", "species \n", "Adelie 152 151 151 151 \n", "Chinstrap 68 68 68 68 \n", "Gentoo 124 123 123 123 \n", "\n", " body_mass_g sex \n", "species \n", "Adelie 151 146 \n", "Chinstrap 68 68 \n", "Gentoo 123 119 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "penguins.groupby('species').count() # Muuttujien n-arvot alalajin mukaan" ] }, { "cell_type": "code", "execution_count": 9, "id": "885673b4", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
islandbill_length_mmbill_depth_mmflipper_length_mmbody_mass_g
speciessex
AdelieFemale7373737373
Male7373737373
ChinstrapFemale3434343434
Male3434343434
GentooFemale5858585858
Male6161616161
\n", "
" ], "text/plain": [ " island bill_length_mm bill_depth_mm flipper_length_mm \\\n", "species sex \n", "Adelie Female 73 73 73 73 \n", " Male 73 73 73 73 \n", "Chinstrap Female 34 34 34 34 \n", " Male 34 34 34 34 \n", "Gentoo Female 58 58 58 58 \n", " Male 61 61 61 61 \n", "\n", " body_mass_g \n", "species sex \n", "Adelie Female 73 \n", " Male 73 \n", "Chinstrap Female 34 \n", " Male 34 \n", "Gentoo Female 58 \n", " Male 61 " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "penguins.groupby(['species', 'sex']).count() # Muuttujien n-arvot alalajin ja sukupuolen mukaan" ] } ], "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.4" } }, "nbformat": 4, "nbformat_minor": 5 }