Created
August 11, 2016 15:09
-
-
Save MSeifert04/1551e80e1aa85b48c9191e727c38f9a9 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
import numpy as np | |
a = np.arange(1000000, dtype=float).reshape(1000, 1000) | |
a[100, 100] = np.nan | |
%timeit np.nanmedian(a, axis=None) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=None) | |
%timeit np.nanmedian(a, axis=0) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=0) | |
%timeit np.nanmedian(a, axis=1) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=1) | |
10 loops, best of 3: 63.3 ms per loop | |
10 loops, best of 3: 186 ms per loop | |
1 loop, best of 3: 235 ms per loop | |
10 loops, best of 3: 157 ms per loop | |
1 loop, best of 3: 198 ms per loop | |
10 loops, best of 3: 123 ms per loop | |
################################################### | |
import numpy as np | |
a = np.arange(1000000, dtype=float).reshape(1000, 1000) | |
a[(a % 3) == 0] = np.nan | |
print(np.sum(np.isnan(a))) | |
%timeit np.nanmedian(a, axis=None) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=None) | |
%timeit np.nanmedian(a, axis=0) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=0) | |
%timeit np.nanmedian(a, axis=1) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=1) | |
333334 | |
10 loops, best of 3: 29.5 ms per loop | |
1 loop, best of 3: 222 ms per loop | |
1 loop, best of 3: 260 ms per loop | |
10 loops, best of 3: 197 ms per loop | |
1 loop, best of 3: 219 ms per loop | |
10 loops, best of 3: 162 ms per loop | |
######################################################## | |
import numpy as np | |
a = np.arange(1000000, dtype=float).reshape(1000, 1000) | |
print(np.sum(np.isnan(a))) | |
%timeit np.nanmedian(a, axis=None) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=None) | |
%timeit np.nanmedian(a, axis=0) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=0) | |
%timeit np.nanmedian(a, axis=1) | |
%timeit np.ma.median(np.ma.masked_invalid(a), axis=1) | |
0 | |
100 loops, best of 3: 17 ms per loop | |
10 loops, best of 3: 38.5 ms per loop | |
1 loop, best of 3: 235 ms per loop | |
10 loops, best of 3: 64.2 ms per loop | |
1 loop, best of 3: 197 ms per loop | |
10 loops, best of 3: 39 ms per loop |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment