Created
January 21, 2019 17:29
-
-
Save leifdenby/8e874d3440a1ac96f96465a418f158ab to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import numpy as np\n", | |
"import bottleneck" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 97, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"a = 300.*np.ones((800**2,), dtype=np.float32)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 98, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"300.0" | |
] | |
}, | |
"execution_count": 98, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"np.mean(a)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 99, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"302.6018981933594" | |
] | |
}, | |
"execution_count": 99, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"bottleneck.nanmean(a)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 87, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"arr = []\n", | |
"\n", | |
"for n in range(10, 1000, 50):\n", | |
" a = 1.6*np.ones((n**2,), dtype=np.float32)\n", | |
" \n", | |
" arr.append((n, np.abs(np.mean(a) - bottleneck.nanmean(a))))" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 88, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import matplotlib.pyplot as plt" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 89, | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"%matplotlib inline" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 90, | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"Text(0,0.5,'error')" | |
] | |
}, | |
"execution_count": 90, | |
"metadata": {}, | |
"output_type": "execute_result" | |
}, | |
{ | |
"data": { | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAZoAAAEKCAYAAAArYJMgAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAFi9JREFUeJzt3W+QXNV55/HvwwgJgdcSf+wJSJSFF4UEh83inQI79osxhD/OZi1CIBHrTZQNKVUqJsnGsV1SeWMc1i5wHBtvymzKqkBC2FSEQwhRHGW1BDwvlsoSROQEA1YYY2cZ4YBZIdnDSkYSz77oO9CMeqTuuX3mzvR8P1Vd0/f06enn9B31T/fec29HZiJJUiknNF2AJGmwGTSSpKIMGklSUQaNJKkog0aSVJRBI0kqyqCRJBVl0EiSimo0aCLiyojYHRHjEbGpw+PLIuLu6vGHI2JN1X5RRHyluv19RPzEXNcuSepONHVlgIgYAv4RuAyYAB4BrsvMJ9r6/BLwrzLzFyNiPfATmfnTEXEy8HJmHo6IM4G/B87KzMPHes0zzjgj16xZ03WNL730EqecckqvQxsYjt/xO37HD/Doo4++kJlvmu3vWtK3qnp3ETCemU8DRMRWYB3wRFufdcDHq/v3AJ+PiMjM/9fW5ySgq7Rcs2YNO3fu7LrAsbExRkdHu+4/aBy/43f8o02X0Zj28UfEP9X5XU0GzSrgmbblCeDimfpUWy/7gdOBFyLiYuAO4C3Az8y0NRMRG4GNAMPDw4yNjXVd4OTkZE/9B43jd/yOf6zpMhrTz/E3GTTRoW36lsmMfTLzYeBtEfGDwJ0R8VeZefCozplbgC0AIyMj2cv/UPwfjeN3/KNNl9EYx9+/8Tc5GWACOLtteTXw7Ex9ImIJsALY294hM58EXgJ+qFilkqRZazJoHgHWRsQ5EbEUWA9sm9ZnG7Chun8N8GBmZvWcJQAR8RbgPOCbc1O2JKkXje06q4653ADsAIaAOzLz8Yi4CdiZmduA24G7ImKc1pbM+urp7wY2RcQh4BXglzLzhbkfhSTpeJo8RkNmbge2T2v7WNv9g8C1HZ53F3BX8QIlSbV5ZQBJUlEGjSSpKINGklSUQSNJKsqgkSQVZdBIkooyaCRJRRk0kqSiDBpJUlEGjSSpKINGklSUQSNJKsqgkSQVZdBIkooyaCRJRRk0kqSiDBpJUlEGjSSpKINGklSUQSNJKsqgkSQVZdBIkooyaCRJRRk0kqSiDBpJUlEGjSSpKINGklSUQSNJKsqgkSQVZdBIkooyaCRJRRk0kqSiDBpJUlEGjSSpKINGklSUQSNJKsqgkSQVZdBIkopqNGgi4sqI2B0R4xGxqcPjyyLi7urxhyNiTdV+WUQ8GhGPVT8vmevaJUndaSxoImIIuA14L3A+cF1EnD+t2/XAi5l5LnAr8Kmq/QXg32XmBcAG4K65qVqS1Ksmt2guAsYz8+nMfBnYCqyb1mcdcGd1/x7g0oiIzNyVmc9W7Y8DJ0XEsjmpWpLUkyUNvvYq4Jm25Qng4pn6ZObhiNgPnE5ri2bKTwK7MvN7nV4kIjYCGwGGh4cZGxvrusDJycme+g8ax+/4Hf9Y02U0pp/jbzJookNb9tInIt5Ga3fa5TO9SGZuAbYAjIyM5OjoaNcFjo2N0Uv/QeP4Hb/jH226jMb0c/xN7jqbAM5uW14NPDtTn4hYAqwA9lbLq4E/A342M79evFpJ0qw0GTSPAGsj4pyIWAqsB7ZN67ON1sF+gGuABzMzI2Il8JfA5sx8aM4qliT1rLGgyczDwA3ADuBJ4IuZ+XhE3BQR76u63Q6cHhHjwAeBqSnQNwDnAr8REV+pbm+e4yFIkrrQ5DEaMnM7sH1a28fa7h8Eru3wvE8AnyheoCSpNq8MIEkqyqCRJBVl0EiSijJoJElFGTSSpKIMGklSUQaNJKkog0aSVJRBI0kqyqCRJBVl0EiSijJoJElFGTSSpKIMGklSUQaNJKkog0aSVJRBI0kqqtFv2JQklXPfrj18esdunt13gLNWLufDV5zHVReumvM6DBpJGkD37drD5nsf48ChIwDs2XeAzfc+BjDnYeOuM0kaQJ/esfvVkJly4NARPr1j95zXYtBI0gB6dt+BntpLMmgkaQCdtXJ5T+0lGTSSNIA+fMV5LD9x6HVty08c4sNXnDfntTgZQJLmqTqzxqb6OetMktRRP2aNXXXhqkaCZTp3nUnSPDSfZo3VZdBI0jw0n2aN1WXQSNI8NJ9mjdVl0EjSPDSfZo3V5WQASSpkUGaN1WXQSFIBgzRrrC53nUlSAYM0a6wug0aSChikWWN1GTSSVMAgzRqry6CRpAIGadZYXU4GkKQCBmnWWF0GjSQVMiizxuoyaCRpBnXOg9FrGj1GExFXRsTuiBiPiE0dHl8WEXdXjz8cEWuq9tMj4ssRMRkRn5/ruiUNvn0HDrH53sfYs+8AyWvnwdy3a0/TpS04jQVNRAwBtwHvBc4HrouI86d1ux54MTPPBW4FPlW1HwR+A/jQHJUraZF5bv9Bz4Ppkya3aC4CxjPz6cx8GdgKrJvWZx1wZ3X/HuDSiIjMfCkz/xetwJGkvnv5yCsd2xfjeTB1NXmMZhXwTNvyBHDxTH0y83BE7AdOB17o9kUiYiOwEWB4eJixsbGuC5ycnOyp/6Bx/I5/MY//zJPh1y84fFT70qETFsX70s/132TQRIe2nEWfY8rMLcAWgJGRkRwdHe36uWNjY/TSf9A4fse/mMd/31/dz3/7uyOv2322/MQhbr76AkYXwYSAfq7/JnedTQBnty2vBp6dqU9ELAFWAHvnpDpJi9rK5Sdy89UXsGrlcgJYtXI5N199gbPOZuG4WzTVQftfycxb+/zajwBrI+IcYA+wHvj30/psAzYAfwNcAzyYmT1t0UjSbHkeTH8cd4smM49w9EH62jLzMHADsAN4EvhiZj4eETdFxPuqbrcDp0fEOPBB4NUp0BHxTeCzwM9FxESHGWuSpHmg22M0D1Xnq9wNvDTVmJl/V+fFM3M7sH1a28fa7h8Erp3huWvqvLakwecJl/NDt0HzI9XPm9raErikv+VIUn/044vH1B9dBU1mvqd0IZLUT8f64jGDZm51NessIlZExGcjYmd1+0xErChdnCTNll88Nn90O735DuC7wE9Vt+8Av1+qKEmqyy8emz+6DZp/mZk3VpeLeTozfxN4a8nCJKkOv3hs/ug2aA5ExLunFiLiXYDbn5LmrasuXOUJl/NEt7POfhH4w7bjMi/SOpFSkuYtT7icH7q5MsAJwHmZ+cMR8UaAzPxO8cokSQOhmysDvELrDH4y8zuGjCSpF90eo7k/Ij4UEWdHxGlTt6KVSZIGQrfHaH6++vmBtrbEmWeSpOPo9hjNf8jMh+agHkl6ldcqGwzdHqP57TmoRZJeNXWtsj37DpC8dq2y+3btabo09ajbYzT/MyJ+MiI6feOlJPXdsa5VpoWl22M0HwROBo5ExEFaX7GcmfnGYpVJWtS8Vtng6HaLZgXwc8AnqnB5G3BZqaIkyWuVDY5ug+Y24B3AddXyd4HPF6lIkvBaZYOk211nF2fm2yNiF0BmvhgRSwvWJWmRm5pd5qyzha/boDkUEUO0zp0hIt4EvFKsKkl9sdCnB3utssHQbdD8DvBnwJsj4pPANcB/LlaVpNr8KmPNF91+lfMfRcSjwKW0ZpxdlZlPFq1MUq0tEr/KWPNFt1s0ZObXgK8VrEVSm7pbJE4P1nzR7awzSbNw3649vOuWBzln01/yrlse7Oms9ronLDo9WPOFQSMVUvcSKnW3SJwerPnCoJEKaXqLxK8y1nzR9TEaSb3pxxZJ+zEa6H2LpOnpwQt9erX6w6CRjqHOB+VZK5ezp0Oo9LJFAgv3hEWnV2uKQSPNYN+BQ2x+YPYflIOwRVKH06s1xWM00gye23+w1jGWxX6MxOnVmuIWjTSDl4+8Qqf/i/XyQbmQt0jqqrvrUIPDLRppBkuHOv/z8IOyO06v1hS3aDTQ6hzMH15xEstPPFLrGMtittAnM6h/DBoNrLqznlYuP5Gbrz7fD8oaFvOuQ73GoFFRTZ5H0Y9ZT35QSvUZNCqm6fMonPVUnydcqh8MGh3TQr5MvbOe6ql7HpE0xVlnmtG+A4cavShkXc56qqfueUTSlEaDJiKujIjdETEeEZs6PL4sIu6uHn84Ita0Pba5at8dEVfMZd1zqc5l5uuq+0HT9GXqF/sJk3W1ziM6mrse1avGdp1FxBBwG3AZMAE8EhHbMvOJtm7XAy9m5rkRsR74FPDTEXE+sB54G3AW8NcR8f2Z+fpPxT6ou4+6zvP7cYyjzuvXPWGxH5dgqfv+ezB/9jyPSP3S5BbNRcB4Zj6dmS8DW4F10/qsA+6s7t8DXBoRUbVvzczvZeY3gPHq9/VV3V1Hdb+PpO5l5uu+ft0PmrpbFHXrVz2t84jc9aj6mgyaVcAzbcsTVVvHPpl5GNgPnN7lc2uru+uoblDUPcZR9/X78UFz1YWreGjTJXzjln/LQ5su6Wnrom79qqd1HpG7HlVfZGYzLxxxLXBFZv5CtfwzwEWZ+cttfR6v+kxUy1+nteVyE/A3mfnfq/bbge2Z+acdXmcjsBFgeHj432zdurXrGp/fu5/nZvhMv2DViuM+/7E9+2d8rJvn7/7n73bcT7506ATO+75/Ufz1JycnOTy0jOf2H+TlI6+wdOgEhlecxMrlJx73uf1Qt/66JicnecMb3lD8deYrx+/4p8b/nve859HMHJnt72pyevMEcHbb8mrg2Rn6TETEEmAFsLfL5wKQmVuALQAjIyM5OjradYFf2PoXfOaxozf6Vq1czi+///i/56O3PNhxem23z9837RgNtLYobr76Aka7+F9l3dcfGxujl/er3+rWX1fT42+a43f8/Rp/k7vOHgHWRsQ5EbGU1sH9bdP6bAM2VPevAR7M1ibYNmB9NSvtHGAt8Lf9LrDurqO602vrHuNY6NN7F3r9kloa26LJzMMRcQOwAxgC7sjMxyPiJmBnZm4DbgfuiohxWlsy66vnPh4RXwSeAA4DHygx46zuta76cVHBOrOmFvpFDRd6/ZJaGr0yQGZuB7ZPa/tY2/2DwLUzPPeTwCeLFkj96bFNT69t+vXrWuj1S/LKAJKkwgwaSVJRBo0kqSiDRpJUlEEjSSrKoJEkFWXQSJKKMmgkSUUZNJKkogwaSVJRBo0kqSiDRpJUlEEjSSrKoJEkFWXQSJKKMmgkSUUZNJKkogwaSVJRBo0kqSiDRpJUlEEjSSrKoJEkFWXQSJKKMmgkSUUZNJKkogwaSVJRBo0kqSiDRpJUlEEjSSrKoJEkFWXQSJKKMmgkSUUZNJKkogwaSVJRBo0kqSiDRpJUlEEjSSrKoJEkFdVI0ETEaRFxf0Q8Vf08dYZ+G6o+T0XEhrb2T0bEMxExOXdVS5Jmo6ktmk3AA5m5FnigWn6diDgNuBG4GLgIuLEtkP6iapMkzXNNBc064M7q/p3AVR36XAHcn5l7M/NF4H7gSoDM/N+Z+a05qVSSVEtTQTM8FRTVzzd36LMKeKZteaJqkyQtIEtK/eKI+Gvg+zo89NFuf0WHtpxFHRuBjQDDw8OMjY11/dzJycme+g8ax+/4Hf9Y02U0pp/jLxY0mfmjMz0WEc9FxJmZ+a2IOBN4vkO3CWC0bXk1MDaLOrYAWwBGRkZydHT02E9oMzY2Ri/9B43jd/yOf7TpMhrTz/E3tetsGzA1i2wD8Ocd+uwALo+IU6tJAJdXbZKkBaSpoLkFuCwingIuq5aJiJGI+D2AzNwL/Bfgkep2U9VGRPxWREwAJ0fERER8vIExSJK6UGzX2bFk5v8FLu3QvhP4hbblO4A7OvT7CPCRkjVKkvrDKwNIkooyaCRJRRk0kqSiDBpJUlEGjSSpKINGklSUQSNJKsqgkSQVZdBIkooyaCRJRRk0kqSiDBpJUlEGjSSpKINGklSUQSNJKsqgkSQVZdBIkooyaCRJRRk0kqSiDBpJUlEGjSSpKINGklSUQSNJKioys+ka5kxEfBv4px6ecgbwQqFyFgLH7/gd/+LVPv63ZOabZvuLFlXQ9CoidmbmSNN1NMXxO37H7/j78bvcdSZJKsqgkSQVZdAc25amC2iY41/cHP/i1rfxe4xGklSUWzSSpKIMmg4i4sqI2B0R4xGxqel6SoiIsyPiyxHxZEQ8HhG/WrWfFhH3R8RT1c9Tq/aIiN+p3pN/iIi3NzuC/oiIoYjYFRFfqpbPiYiHq/HfHRFLq/Zl1fJ49fiaJuvuh4hYGRH3RMTXqr+Ddy6m9R8Rv1b97X81Iv44Ik4a9PUfEXdExPMR8dW2tp7XeURsqPo/FREbjve6Bs00ETEE3Aa8FzgfuC4izm+2qiIOA7+emT8IvAP4QDXOTcADmbkWeKBahtb7sba6bQR+d+5LLuJXgSfblj8F3FqN/0Xg+qr9euDFzDwXuLXqt9D9V+B/ZOYPAD9M631YFOs/IlYBvwKMZOYPAUPAegZ//f8BcOW0tp7WeUScBtwIXAxcBNw4FU4zykxvbTfgncCOtuXNwOam65qDcf85cBmwGzizajsT2F3d/wJwXVv/V/st1BuwuvqHdQnwJSBonaC2ZPrfArADeGd1f0nVL5oeQ42xvxH4xvQxLJb1D6wCngFOq9bnl4ArFsP6B9YAX53tOgeuA77Q1v66fp1ubtEcbeoPcMpE1Tawqt0AFwIPA8OZ+S2A6uebq26D+L58DvgI8Eq1fDqwLzMPV8vtY3x1/NXj+6v+C9VbgW8Dv1/tOvy9iDiFRbL+M3MP8NvA/wG+RWt9PsriWf/tel3nPf8tGDRHiw5tAzs1LyLeAPwp8J8y8zvH6tqhbcG+LxHx48Dzmfloe3OHrtnFYwvREuDtwO9m5oXAS7y2y6STgRp/tatnHXAOcBZwCq1dRdMN6vrvxkxj7vm9MGiONgGc3ba8Gni2oVqKiogTaYXMH2XmvVXzcxFxZvX4mcDzVfugvS/vAt4XEd8EttLaffY5YGVELKn6tI/x1fFXj68A9s5lwX02AUxk5sPV8j20gmexrP8fBb6Rmd/OzEPAvcCPsHjWf7te13nPfwsGzdEeAdZWs0+W0jpAuK3hmvouIgK4HXgyMz/b9tA2YGoWyQZax26m2n+2monyDmD/1Ob2QpSZmzNzdWauobWOH8zM9wNfBq6puk0f/9T7ck3Vf8H+jzYz/xl4JiLOq5ouBZ5gkax/WrvM3hERJ1f/FqbGvyjW/zS9rvMdwOURcWq1ZXh51Tazpg9Mzccb8GPAPwJfBz7adD2FxvhuWpu7/wB8pbr9GK39zg8AT1U/T6v6B63ZeF8HHqM1W6fxcfTpvRgFvlTdfyvwt8A48CfAsqr9pGp5vHr8rU3X3Ydx/2tgZ/U3cB9w6mJa/8BvAl8DvgrcBSwb9PUP/DGtY1KHaG2ZXD+bdQ78fPVejAP/8Xiv65UBJElFuetMklSUQSNJKsqgkSQVZdBIkooyaCRJRRk0UkMiIiPiM23LH4qIjzdYklSEQSM153vA1RFxRtOFSCUZNFJzDtP6utxfa7oQqSSDRmrWbcD7I2JF04VIpRg0UoOydcXsP6T1JVzSQDJopOZ9jtY1p05puhCpBINGalhm7gW+yGtfGywNFINGmh8+Azj7TAPJqzdLkopyi0aSVJRBI0kqyqCRJBVl0EiSijJoJElFGTSSpKIMGklSUQaNJKmo/w8Q67JwdGRVfQAAAABJRU5ErkJggg==\n", | |
"text/plain": [ | |
"<Figure size 432x288 with 1 Axes>" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"arr = np.array(arr)\n", | |
"plt.scatter(arr[:,0], arr[:,1])\n", | |
"plt.grid(True)\n", | |
"plt.xlabel('N')\n", | |
"plt.ylabel('error')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"kernelspec": { | |
"display_name": "Python 2", | |
"language": "python", | |
"name": "python2" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 2 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython2", | |
"version": "2.7.15" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 2 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment