"
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJgAAACYCAYAAAAYwiAhAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAGR0lEQVR4nO3dXYhcdx2H8eebxErU1GALsaWapaZNim/Ftsa3GxF8q3oTiq1eiBeiQmiLRqz19UYpKF6IIlJLBYtB40uFFi30oqUXLdr6UpoqSO2m1SbFiE03+Fbk78U5C8d1dzOz29/O7Ob5wMDsnJn5nznn2XNmljN70lpDqrJp0jOgjc3AVMrAVMrAVMrAVMrAVMrAVijJTJKWZMuk52WaTXVgSZ6b5KYkR5LMJflNkncMps+v5JODy2cH0z+R5HiSw0leObj9jUluHWH8C5Mc6p/jRJIHk3wsyeZn/9VuUK21qb0Azwe+AMzQ/TK8C5gDZvrpM0ADtizy2HOA3wNnAvuB2/rbtwD3zT/HMmO/DPgb8FXgnP623cD3gO3Lje1lsBwnPQNjzzA8COzrry8X2F7gYH99D/Bwf/0AcP0I49wC3L7M9PmxPwA8BhwHPj2Y/lrgXuAp4CjwdeCMwfQGfAT4Q3+fbwAZTP8Q8Lv+F+ph4DX97ecCPwL+AjwKXD3pdbJhAgN2AP8E9ixYyX8G/gTcDJzdTzsLeKjf2uwHDgEvAe4fruhlxjoGfHCEwG4EtgKvBv4FXNRPvwR4Xb/FnOljuXZBYLf18/fSPpi399Ou6F/TZUCAXcBOuq34A8DngDOA84E/Am+b9LpZ94EBzwHuBL41uO0FwKX9StwB/BC4YzD9KuBXwM/6FfRj4C3Ae4G7gZ8C5y0x3jPzK/wUgZ03uO0XwJVL3P9a4CcLAnvT4OcfANf11+8ArlnkOfYCjy247VPAzZNeP0td1sUnoCSbgO8C/6bbGgHQWjtJt0UCeDLJfuBokm2ttbnW2kHgYP8cl9NtYX4N/BZ4OfAe4CvAlYsM+1e693Gncmxw/e900ZPkQrr3b5cCz6P7JXhglMfSbWkfWWSsncC5SZ4a3LYZuGeE+ZyIqf4UCZAkwE10W6h9rbVnlrn7/KEh//O6kmwFvgR8HLgAeLy19jTwS+BVSzzXncC+Vcz6N+k+ZFzQWjsTuJ5udzeKx+k+ZCx2+6Otte2Dy7bW2jtXMZ+lpj4wuhV1EfDu1to/hhOS7E2yO8mmJGcBXwPuaq2dWPAcnwG+01p7gu4N+e4kO4A3072HWczngTck+XKSF/fj7UpyS5LtI8z3NuBp4GSSPcBHR3u5AHwbOJDkknR2JdlJtwueS/LJJFuTbE7yiiSXjfHca2qqA+sX6oeBi4Fjg791vb+/y/nAz+k+aT1Etwu8asFz7AHeShcfrbWjwA3AYeBquvcw/6e19gjwerr3WoeTnKD79HZ/P96pHADe19/3RuD7I73obuxDwBfp/iQyB9wKvKi19h+6P9VcTPcJ8jhdjC8c9bnXWvo3ilKJqd6Caf0zMJUyMJUyMJUyMJUyMJUyMJUyMJUyMJUyMJUyMJUyMJUyMJUyMJUa+ZDpJLN0h+yu1JHW2sw4D5i57vZVHUs0e8Plox5BOtExJ7Fs12rMcY7J39laG3vhzUvigWdLm8SyXZMx3UWqlIGplIGplIGplIGplIGplIGplIGplIGplIGplIGplIGplIGplIGplIGplP8fTKXcgqmUgamUgamUgamUgamUganWGOcKmqU7k8ZKL7MrOD+RY67zMUf+O1iSttrv0Y37eMdc/2O6i1QpA1MpA1MpA1MpA1MpA1MpA1MpA1MpA1MpA1MpA1MpA1MpA1MpA1Opcf6N+ZFV/ivyIyt5jGOu7zH9XqRKuYtUKQNTKQNTKQNTKQNTKQNTqak+X+Tpco7Kjbxsp/18kafLOSo37LJ1F6lSBqZSBqZSBqZSBqZSBqZSBqZSBqZSBqZSBqZSBqZSBqZSBqZSBqZSfi9ygZUcz/Us2LDL1u9FqpS7SJUyMJUyMJUyMJUyMJUyMNWatvMLOubGGtPzRTpm6ZjuIlXKwFTKwFTKwFTKwFTKwFTKwFTKwFTKwFTKwFTKwFTKwFTKwFTKwFTK70U6ZumYfi9SpdxFqpSBqZSBqZSBqZSBqZSBqdRUny/SczfWjblWy3bazxc5CRv23I2T4C5SpQxMpQxMpQxMpQxMpQxMpQxMpQxMpQxMpQxMpQxMpQxMpQxMpQxMpcb5N+azrPExS5NwuhwPtlb8XqRKuYtUKQNTKQNTKQNTKQNTKQNTqf8CzXZv5vP5PBcAAAAASUVORK5CYII=\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"### With Package"
],
"metadata": {
"id": "0h2onFyzbrn3"
}
},
{
"cell_type": "code",
"source": [
"!pip install pywaffle"
],
"metadata": {
"id": "bK3nuBz-btsH",
"outputId": "e64e2649-7bb8-4799-c0fa-d3e5668421db",
"colab": {
"base_uri": "https://localhost:8080/"
}
},
"execution_count": 3,
"outputs": [
{
"output_type": "stream",
"name": "stdout",
"text": [
"Collecting pywaffle\n",
" Downloading pywaffle-0.6.4-py2.py3-none-any.whl (565 kB)\n",
"\u001b[?25l\r\u001b[K |▋ | 10 kB 21.6 MB/s eta 0:00:01\r\u001b[K |█▏ | 20 kB 11.3 MB/s eta 0:00:01\r\u001b[K |█▊ | 30 kB 8.8 MB/s eta 0:00:01\r\u001b[K |██▎ | 40 kB 7.9 MB/s eta 0:00:01\r\u001b[K |███ | 51 kB 6.0 MB/s eta 0:00:01\r\u001b[K |███▌ | 61 kB 7.1 MB/s eta 0:00:01\r\u001b[K |████ | 71 kB 6.6 MB/s eta 0:00:01\r\u001b[K |████▋ | 81 kB 6.5 MB/s eta 0:00:01\r\u001b[K |█████▏ | 92 kB 7.3 MB/s eta 0:00:01\r\u001b[K |█████▉ | 102 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████▍ | 112 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████ | 122 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████▌ | 133 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████ | 143 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████▊ | 153 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████▎ | 163 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████▉ | 174 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████▍ | 184 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████ | 194 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████▋ | 204 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████▏ | 215 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████▊ | 225 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████████▎ | 235 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████ | 245 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████▌ | 256 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████ | 266 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████▋ | 276 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████████▏ | 286 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████████▉ | 296 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████████████▍ | 307 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████ | 317 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████▌ | 327 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████ | 337 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████▊ | 348 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████████████▎ | 358 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████████████▉ | 368 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████████████████▍ | 378 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████████ | 389 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████████▋ | 399 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████████▏ | 409 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████████▊ | 419 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████████████████▎ | 430 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████████████████████ | 440 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████████████████████▌ | 450 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████████████ | 460 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████████████▋ | 471 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████████████▏ | 481 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████████████▉ | 491 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████████████████████▍ | 501 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████████████████████████ | 512 kB 7.0 MB/s eta 0:00:01\r\u001b[K |█████████████████████████████▌ | 522 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▏ | 532 kB 7.0 MB/s eta 0:00:01\r\u001b[K |██████████████████████████████▊ | 542 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▎| 552 kB 7.0 MB/s eta 0:00:01\r\u001b[K |███████████████████████████████▉| 563 kB 7.0 MB/s eta 0:00:01\r\u001b[K |████████████████████████████████| 565 kB 7.0 MB/s \n",
"\u001b[?25hRequirement already satisfied: matplotlib in /usr/local/lib/python3.7/dist-packages (from pywaffle) (3.2.2)\n",
"Requirement already satisfied: kiwisolver>=1.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pywaffle) (1.4.2)\n",
"Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pywaffle) (3.0.8)\n",
"Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pywaffle) (0.11.0)\n",
"Requirement already satisfied: python-dateutil>=2.1 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pywaffle) (2.8.2)\n",
"Requirement already satisfied: numpy>=1.11 in /usr/local/lib/python3.7/dist-packages (from matplotlib->pywaffle) (1.21.6)\n",
"Requirement already satisfied: typing-extensions in /usr/local/lib/python3.7/dist-packages (from kiwisolver>=1.0.1->matplotlib->pywaffle) (4.2.0)\n",
"Requirement already satisfied: six>=1.5 in /usr/local/lib/python3.7/dist-packages (from python-dateutil>=2.1->matplotlib->pywaffle) (1.15.0)\n",
"Installing collected packages: pywaffle\n",
"Successfully installed pywaffle-0.6.4\n"
]
}
]
},
{
"cell_type": "code",
"source": [
"from pywaffle import Waffle\n",
"\n",
"fig = plt.figure(\n",
" FigureClass=Waffle, \n",
" rows=5, \n",
" columns=10, \n",
" values=[48, 46, 6],\n",
" figsize=(5, 3)\n",
")\n",
"plt.show()"
],
"metadata": {
"id": "WlnLx72Lb03u",
"outputId": "840dcfac-2b28-4b87-dcc8-a62426308d5b",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 197
}
},
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWAAAAC0CAYAAACqufbBAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAEzUlEQVR4nO3YsW0yTRiF0dkf92AX4tSNkDhw4JxCyAkInLgRUhdiirD2ixz88rJMwtxX4pxwCOZqkB4hpnmeGwDj/ZceAHCvBBggRIABQgQYIESAAUIe1j58P31+t9YeB235dT68bJ8KbKmyY3FLlR2ttfazf4ts2eyO/9tSZUdoS5UdlbYs7th/fA1/k93r87R0fu0X8Ogvbu3O0Vuq7Lh0Z5Uda+e35E367vMm/efD+QsCIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUIEGCDkWoDPQ1b03Tl6S5Udl+6ssmPt/Ja8Sd993qT/fLhpnuf0BoC75C8IgBABBggRYIAQAQYIeVj78P30+d1aexy05df58LJ9KrClyo7FLVV2VNrys3+L7Njsjn/eJLClyo5KWxZ37D++hr/J7vV5Wjq/9gt49Be3dufoLVV2XLqzyo6181vyJn33eZP+8+H8BQEQIsAAIQIMECLAACECDBAiwAAhAgwQIsAAIQIMECLAACECDBAiwAAhAgwQIsAAIQIMECLAACECDBAiwAAhAgwQIsAAIQIMECLAACECDBAiwAAhAgwQIsAAIQIMEHItwOchK/ruHL2lyo5Ld1bZsXZ+S96k7z5v0n8+3DTPc3oDwF3yFwRAiAADhAgwQMjD2ofvp8/v1trjoC2/zoeX7VOBLVV2LG6psqPSlp/9W2THZnf88yaBLVV2VNqyuGP/8TX8TXavz9PS+bVfwKO/uLU7R2+psuPSnVV2rJ3fkjfpu8+b9J8P5y8IgBABBggRYIAQAQYIEWCAEAEGCBFggBABBggRYIAQAQYIEWCAEAEGCBFggBABBggRYIAQAQYIEWCAEAEGCBFggBABBggRYIAQAQYIEWCAEAEGCBFggBABBggRYICQawE+D1nRd+foLVV2XLqzyo6181vyJn33eZP+8+GmeZ7TGwDukr8gAEIEGCBEgAFCBBgg5GHtw/fT53dr7XHQll/nw8v2qcCWKjsWt1TZUWnLz/4tsmOzO/55k8CWKjsqbamyo212x2np/Nov4NFf3Nqdo7dU2XHpzio71s5vyZv03edN+s+H8xcEQIgAA4QIMECIAAOECDBAiAADhAgwQIgAA4QIMECIAAOECDBAiAADhAgwQIgAA4QIMECIAAOECDBAiAADhAgwQIgAA4QIMECIAAOECDBAiAADhAgwQIgAA4RcC/B5yIq+O0dvqbLj0p1Vdqyd35I36bvPm/SfDzfN85zeAHCX/AUBECLAACECDBAiwAAhD2sfvp8+v1trj4O2/DofXrZPBbZU2bG4pcqOSlt+9m+RHZvd8c+bBLZU2VFpS5UdbbM7Tkvn134Bj/7i1u4cvaXKjkt3Vtmxdn5L3qTvPm/Sfz6cvyAAQgQYIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUIEGCBEgAFCBBggRIABQgQYIESAAUKmeZ7TGwDukl/AACECDBAiwAAhAgwQIsAAIQIMEPIPMQVWHzyywAQAAAAASUVORK5CYII=\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"`pywaffle` is actually a pretty cool package for doing this sort of graphic! For my 25% chance above, I'd do something like:"
],
"metadata": {
"id": "i6OxkHKQb8sn"
}
},
{
"cell_type": "code",
"source": [
"plt.figure(FigureClass = Waffle,\n",
" rows= 5,\n",
" columns = 5,\n",
" values = [5,20],\n",
" colors = ['blue','white'],\n",
" vertical = True,\n",
" facecolor='#DDDDDD' )\n",
"plt.show()"
],
"metadata": {
"id": "dCilhhvmcKj3",
"outputId": "1b479968-a22c-4b62-da96-b28f66f36d29",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
}
},
"execution_count": 15,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "iVBORw0KGgoAAAANSUhEUgAAARgAAAEYCAYAAACHjumMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAFFElEQVR4nO3XsW2lWhhG0eMnSpiYNqb/cIqAgHhKQPJrwDoi8B4DWiu8l+D/ki342LbtcwAE/vvpA4D3EhggIzBARmCAjMAAmWX257quY1mmj9zSeZ7jOI7pM7bdz5VtYzxz35u3jTHGvu9f/j59g3ni0DGu3W3b/Vy9+4n73rxtxicSkBEYICMwQEZggIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZAQGyAgMkBEYICMwQEZggIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAzDQw53n+qzu+1ZW7bbufq3c/cd+bt818bNv2+dNHAO/kEwnICAyQERggIzBARmCAjMAAGYEBMgIDZJbZn+u6jmWZPnJL53mO4zimz9h2P1e2jfHMfW/eNsYY+75/+fv0DeaJQ8e4drdt93P17ifue/O2GZ9IQEZggIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZAQGyAgMkBEYICMwQEZggIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAmWlgzvP8V3d8qyt323Y/V+9+4r43b5v52Lbt86ePAN7JJxKQERggIzBARmCAjMAAGYEBMgIDZAQGyCyzP9d1HcsyfeSWzvMcx3FMn7Htfq5sG+OZ+968bYwx9n3/8vfpG8wTh45x7W7b7ufq3U/c9+ZtMz6RgIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZAQGyAgMkBEYICMwQEZggIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZKaBOc/zX93xra7cbdv9XL37ifvevG3mY9u2z58+Angnn0hARmCAjMAAGYEBMgIDZAQGyAgMkFlmf67rOpZl+sgtnec5juOYPmPb/VzZNsYz97152xhj7Pv+5e/TN5gnDh3j2t223c/Vu5+4783bZnwiARmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZAQGyAgMkBEYICMwQEZggIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZAQGyEwDc57nv7rjW12527b7uXr3E/e9edvMx7Ztnz99BPBOPpGAjMAAGYEBMgIDZAQGyAgMkBEYILPM/vz9ex1//04fuaVfv87x588xfca2+7mybYxn7nvztjHG2Lb9y9+nbzBPHDrGtbttu5+rdz9x35u3zfhEAjICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZAQGyAgMkBEYICMwQEZggIzAABmBATICA2QEBsgIDJARGCAjMEBGYICMwAAZgQEyAgNkBAbICAyQERggIzBARmCAjMAAGYEBMgIDZAQGyAgMkPnYtu3zp48A3skbDJARGCAjMEBGYICMwAAZgQEy/wP3wB2EnyU7bQAAAABJRU5ErkJggg==\n"
},
"metadata": {}
}
]
},
{
"cell_type": "markdown",
"source": [
"The package has lots of options to include some really cool graphics. Here is how many times I biked versus driving this week."
],
"metadata": {
"id": "lu1xvp3leDT0"
}
},
{
"cell_type": "code",
"source": [
"plt.figure(FigureClass=Waffle,\n",
" rows = 5,\n",
" values = [2,3],\n",
" icons = ['bicycle','car'])\n",
"\n",
"plt.show()"
],
"metadata": {
"id": "6KZSPOeldi6P",
"outputId": "f52fc6ea-04e5-48d7-fd6b-f13836a831d9",
"colab": {
"base_uri": "https://localhost:8080/",
"height": 297
}
},
"execution_count": 17,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": [
""
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"cell_type": "markdown",
"source": [
"## Error Bars for Mean"
],
"metadata": {
"id": "q3ws6HY065Xe"
}
},
{
"cell_type": "markdown",
"source": [
"Perhaps the most fundamental concept in error is the mean. We know that the mean will be approximately distributed as normal for a large enough sample size with standard deviation $\\frac s{\\sqrt n}$ where $s$ is the sample standard deviation and $n$ the sample size. Let's see that visualized in a bar graph."
],
"metadata": {
"id": "xglswNA76-Cq"
}
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 371
},
"id": "GkYz6MMH6kQ7",
"outputId": "c967a726-e616-4d73-d0aa-62c51400b370"
},
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": [
""
]
},
"metadata": {},
"execution_count": 9
},
{
"output_type": "display_data",
"data": {
"text/plain": [
"
"
],
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
],
"source": [
"import pandas as pa\n",
"\n",
"df = pa.read_csv('https://raw.githubusercontent.com/nurfnick/Data_Viz/main/Data_Sets/iris.csv')\n",
"\n",
"dfgrouped = df.groupby('Class').agg(['mean','std', 'count'])\n",
"\n",
"dfgrouped.SepalLength.plot.bar(y = 'mean',yerr = 'std', legend = False, color = ['purple','red', 'blue'], title = \"Error of Standard Deviation\")"
]
},
{
"cell_type": "code",
"source": [
"import numpy as np\n",
"from scipy.stats import t\n",
"\n",
"def SE(std,n):\n",
" return std/np.sqrt(n)\n",
"\n",
"\n",
"\n",
"dfgroupedSepalLength = dfgrouped.SepalLength\n",
"\n",
"dfgroupedSepalLength['SE'] = dfgroupedSepalLength.apply(lambda x: SE(x['std'],x['count']), axis = 1)\n",
"\n",
"\n",
"dfgroupedSepalLength.loc[:,'95%'] = dfgroupedSepalLength.loc[:,'SE']*t.ppf(.975,49)\n",
"\n",
"dfgroupedSepalLength\n"
],
"metadata": {
"colab": {
"base_uri": "https://localhost:8080/",
"height": 397
},
"id": "zV1Ym-sE9sYW",
"outputId": "4fcae12f-3508-4f62-ee4a-276857fba34b"
},
"execution_count": null,
"outputs": [
{
"output_type": "stream",
"name": "stderr",
"text": [
"/usr/local/lib/python3.7/dist-packages/ipykernel_launcher.py:11: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" # This is added back by InteractiveShellApp.init_path()\n",
"/usr/local/lib/python3.7/dist-packages/pandas/core/indexing.py:1667: SettingWithCopyWarning: \n",
"A value is trying to be set on a copy of a slice from a DataFrame.\n",
"Try using .loc[row_indexer,col_indexer] = value instead\n",
"\n",
"See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
" self.obj[key] = value\n"
]
},
{
"output_type": "execute_result",
"data": {
"text/plain": [
" mean std count SE 95%\n",
"Class \n",
"Iris-setosa 5.006 0.352490 50 0.049850 0.100176\n",
"Iris-versicolor 5.936 0.516171 50 0.072998 0.146694\n",
"Iris-virginica 6.588 0.635880 50 0.089927 0.180715"
],
"text/html": [
"\n",
"