ゼロから作る、で紹介されていたので試しにやってみることに。
時間がアレなのでどこまでヤレるかわかりませんが。
>>> import numpy as np
>>> print(np.__version__)
1.12.1
>>> np.show_config()
lapack_info:
libraries = ['lapack', 'lapack']
library_dirs = ['/usr/lib']
language = f77
lapack_opt_info:
libraries = ['lapack', 'lapack', 'blas', 'blas']
library_dirs = ['/usr/lib']
language = c
define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
openblas_lapack_info:
NOT AVAILABLE
blas_info:
libraries = ['blas', 'blas']
library_dirs = ['/usr/lib']
define_macros = [('HAVE_CBLAS', None)]
language = c
atlas_3_10_blas_threads_info:
NOT AVAILABLE
atlas_threads_info:
NOT AVAILABLE
atlas_3_10_threads_info:
NOT AVAILABLE
atlas_blas_info:
NOT AVAILABLE
atlas_3_10_blas_info:
NOT AVAILABLE
atlas_blas_threads_info:
NOT AVAILABLE
openblas_info:
NOT AVAILABLE
blas_mkl_info:
NOT AVAILABLE
blas_opt_info:
libraries = ['blas', 'blas']
library_dirs = ['/usr/lib']
language = c
define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)]
blis_info:
NOT AVAILABLE
atlas_info:
NOT AVAILABLE
atlas_3_10_info:
NOT AVAILABLE
lapack_mkl_info:
NOT AVAILABLE
>>> z = np.zeros(10)
>>> print(z)
[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
>>> np.info(np.add)
add(x1, x2[, out])
Add arguments element-wise.
Parameters
----------
x1, x2 : array_like
The arrays to be added. If ``x1.shape != x2.shape``, they must be
broadcastable to a common shape (which may be the shape of one or
the other).
Returns
-------
add : ndarray or scalar
The sum of `x1` and `x2`, element-wise. Returns a scalar if
both `x1` and `x2` are scalars.
Notes
-----
Equivalent to `x1` + `x2` in terms of array broadcasting.
Examples
--------
>>> np.add(1.0, 4.0)
5.0
>>> x1 = np.arange(9.0).reshape((3, 3))
>>> x2 = np.arange(3.0)
>>> np.add(x1, x2)
array([[ 0., 2., 4.],
[ 3., 5., 7.],
[ 6., 8., 10.]])
>>> z = np.zeros(10)
>>> z[4] = 1
>>> print(z)
[ 0. 0. 0. 0. 1. 0. 0. 0. 0. 0.]
>>> z = np.arange(10,50)
>>> print(z)
[10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49]
>>> z = z[::-1]
>>> print(z)
[49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25
24 23 22 21 20 19 18 17 16 15 14 13 12 11 10]
>>> z = np.arange(9).reshape(3,3)
>>> print(z)
[[0 1 2]
[3 4 5]
[6 7 8]]
>>> nz = np.nonzero([1,2,0,0,4,0])
>>> print(nz)
(array([0, 1, 4]),)
>>> z = np.eye(3)
>>> print(z)
[[ 1. 0. 0.]
[ 0. 1. 0.]
[ 0. 0. 1.]]
>>> z = np.random.random((3,3,3))
>>> print(z)
[[[ 0.06205236 0.19099742 0.99456804]
[ 0.60092545 0.82734294 0.14286132]
[ 0.92146581 0.63564202 0.38872125]]
[[ 0.07939687 0.96852618 0.8120449 ]
[ 0.50250091 0.26503357 0.65948408]
[ 0.35790514 0.92241605 0.4671903 ]]
[[ 0.77499553 0.04178327 0.9047007 ]
[ 0.35143498 0.76012792 0.08662569]
[ 0.70430228 0.53533727 0.11666641]]]
>>> z = np.random.random((10,10))
>>> Zmin, Zmax = z.min(), z.max()
>>> print(Zmin, Zmax)
(0.025307743360206025, 0.98825794498330499)
>>> z = np.random.random(30)
>>> m = z.mean()
>>> print(m)
0.495190792994
>>> z = np.ones((10,10))
>>> print(z)
[[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
>>> z[1:-1,1:-1] = 0
>>> print(z)
[[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 0. 0. 0. 0. 0. 0. 0. 0. 1.]
[ 1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]]
>>> 0 * np.nan
nan
>>> np.nan == np.nan
False
>>> np.inf > np.nan
False
>>> np.nan - np.nan
nan
>>> 0.3 == 3 * 0.1
False
>>> z = np.diag(1+np.arange(4),k=-1)
>>> print(z)
[[0 0 0 0 0]
[1 0 0 0 0]
[0 2 0 0 0]
[0 0 3 0 0]
[0 0 0 4 0]]
>>> z = np.zeros((8,8),dtype=int)
>>> z[1::2,::2] = 1
>>> z[::2,1::2] = 1
>>> print(z)
[[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]]
>>> print(np.unravel_index(100,(6,7,8)))
(1, 5, 4)
>>> z = np.tile(np.array([[0,1],[1,0]]),(4,4))
>>> print(z)
[[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]
[0 1 0 1 0 1 0 1]
[1 0 1 0 1 0 1 0]]
>>> z = np.random.random((5,5))
>>> z
array([[ 0.63961068, 0.23124397, 0.67606005, 0.99600782, 0.47858815],
[ 0.01860286, 0.8226178 , 0.42067158, 0.29628887, 0.56521426],
[ 0.88364213, 0.51160444, 0.77069063, 0.89541852, 0.67893452],
[ 0.43324172, 0.61402699, 0.48005742, 0.47504794, 0.50494166],
[ 0.27268807, 0.40511865, 0.56968093, 0.49625986, 0.58124904]])
>>> zmax, zmin = z.max(),z.min()
>>> zmax
0.99600782232727403
>>> zmin
0.018602860987813719
>>> z = (z - zmin)/(zmax - zmin)
>>> print(z)
[[ 0.63536389 0.21755681 0.67265587 1. 0.47061894]
[ 0. 0.82260166 0.41136349 0.28410538 0.55924762]
[ 0.88503671 0.50439848 0.76947407 0.89708533 0.6755968 ]
[ 0.42422422 0.60918877 0.47212218 0.46699689 0.49758167]
[ 0.25995899 0.39545102 0.56381755 0.48869918 0.57565308]]
>>> color = np.dtype([("r", np.ubyte, 1), ("g", np.ubyte, 1), ("b", np.ubyte, 1), ("a", np.ubyte, 1)])
>>> color
dtype([('r', 'u1'), ('g', 'u1'), ('b', 'u1'), ('a', 'u1')])
>>> z = np.dot(np.ones((5,3)), np.ones((3,2)))
>>> print(z)
[[ 3. 3.]
[ 3. 3.]
[ 3. 3.]
[ 3. 3.]
[ 3. 3.]]
>>> z = np.arange(11)
>>> z
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
>>> z[(3<z) & (z <=8)] *= -1
>>> z
array([ 0, 1, 2, 3, -4, -5, -6, -7, -8, 9, 10])
24 は略で。
というか
numpy て現時点で全部記憶せいと言われると駄目ッス。