[ Web Proxy ]
URL:
Viewing:
https://raw.githubusercontent.com/We2one/Notes/master/python-basic-notes/python-days/Day_62.md
[Back]
[Original]
### Numpy (Numberical python) #### ##### + ##### + **** : + **** : 0 + ** E ** : 1, 0 + **** : + **** + ** 0 ** : 0 + ** ()** : ##### 1. **/** + **** + : 2. **** 1. **** + 2. **** + `m*s A s*n B `---> `m*n ` + `A * B` : A B + : A == B 3. **** + **** : A1145 () ****A 4. **** + A B E (), A + A B : `A- = B` #### numpy + numpy **/** + numpy **ndarray (n dim array ) ** : ************ + 1. C : () 2. F (Fortran) : #### numpy ##### Numpy + `arr_name.ndim` : + `arr_name.shape` : + `arr_name.dtype` : + `arr_name.size` : + `np.pi` : **pi = 3.141592653589793** + `arr_name.itemsize` : + `arr_name.nbytes` : + ```python import numpy as np arr1 = np.array([1, 2, 3], dtype=int) print(arr1) # [1. 2. 3.] print(f"{arr1.ndim}") # 1 print(arr1.shape) # (3,) print(arr1.dtype) # int32 print(arr1.size) # 3 print(arr1.itemsize) # 4 print(arr1.nbytes) # 12 ``` ##### 1. **dtype** 2. : `np.bool(arr)``np.float(arr)``np.str(arr)``np.int(arr)` 3. **arr_name.astype(np.int)** , ##### + : `.array(p_object, dtype=None, copy=True, order='K', subok=False, ndmin=0)` + | | | | ------------ | ------------------------------------------------------------ | | **p_object** | **** | | **dtype** | ,., | | **copy** | ,.true | | **order** | , **{'K', 'A', 'C', 'F'}**
**K** : , F C , F C
**A** : FCFC
**C** : C
**F** : Fortran | + : `arr_name.flatten(order='C')`, `a.ravel([order])` + + , **flatten()** , **ravel()** ```python import numpy as np arr = np.arange(1, 17).reshape((4, 4)) """ [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] """ arr_flatten = arr.flatten() # [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16] arr_ravel = arr.ravel() # [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16] arr_flatten[0] = 1000 print(arr) """ [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] """ arr_ravel[0] = 1000 print(arr) """ [[1000 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [ 13 14 15 16]] """ ``` + , **flatten()** **ravel()** ```python import numpy as np arr = np.arange(1, 17).reshape((4, 4)) """ [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] """ arr_flatten = arr.flatten(order='F') # [ 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16] arr_ravel = arr.ravel(order='F') # [ 1 5 9 13 2 6 10 14 3 7 11 15 4 8 12 16] arr_flatten[0] = 1000 print(arr) """ [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] """ arr_ravel[0] = 1000 print(arr) """ [[ 1 2 3 4] [ 5 6 7 8] [ 9 10 11 12] [13 14 15 16]] """ ``` + , : `.arange([start,] stop[, step,], dtype=None)` + `[startstop)` | | | | --------- | ------------------------------------------------------------ | | **start** | ,0,. | | **stop** | ,****., | | **step** | ,. | | **dtype** | .,, | + `a.reshape(shape, order='C')` : . + `arange()` + ```python import numpy as np print(np.arange(10).reshape(2, 5)) """ [[0 1 2 3 4] [5 6 7 8 9]] """ ``` + `np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)` : (****)**[start, stop)****num**(50) + | | | | ------------ | ------------------------------------------------------------ | | **start** | | | **stop** | **endpoint**False**stop****endpoint=False****num+1** | | **num** | .50 | | **endpoint** | bool ,.True**stop****stop**True | | **retstep** | bool ,.True(samples, step)step | | **dtype** | dtype | | **axis** | , | + ```python import numpy as np lin_num = np.linspace(10, 100, num=10) # 10 ~ 100 ( 100) 10 print(lin_num) # [ 10. 20. 30. 40. 50. 60. 70. 80. 90. 100.] ``` + `logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None, axis=0)` : base (****) + | | | | ------------ | ------------------------------------------------------------ | | **start** | ,basestart | | **stop** | ,basestopendpoint | | **num** | , ()startstop50. | | **endpoint** | ,True | | **base** | | | **dtype** | , | | **axis** | , | + ```python import numpy as np log_num = np.logspace(2, 3, 10, base=2) # 2^2 ~ 3^2 (3^2) 10 print(log_num) # [4. 4.32023896 4.66611616 5.0396842 5.44316 5.87893797 6.34960421 6.85795186 7.4069977 8. ] ``` + `np.zeros(shape, dtype=None, order='C')` : 0 ,,ndarray0 + | | | | --------- | ------------------------------------------------------------ | | **shape** | ,, | | **dtype** | ,np.float64 | | **order** | , , **C**,{'C', 'F'}
**C** :
**F** : | + ```python import numpy as np zero_arr = np.zeros((3, 4), dtype=float) print(zero_arr) """ [[0. 0. 0. 0.] [0. 0. 0. 0.] [0. 0. 0. 0.]] """ ``` + `np.ones(shape, dtype=None, order='C')` : 1n. + | | | | --------- | ------------------------------------------------------------ | | **shape** | ,, | | **dtype** | ,np.float64 | | **order** | , , **C**,{'C', 'F'}
**C** :
**F** : | + ```python import numpy as np print(np.ones((2, 4))) """ [[1. 1. 1. 1.] [1. 1. 1. 1.]] """ ``` + `np.diag(v, k=0)` : ,******** + | | | | ----- | ------------------------------------------------------------ | | **v** | array_like.
`v``k`
`v``v``k` | | **k** | ,.**** | + ```python import numpy as np print(np.diag((1, 2, 3))) # 3x3 1, 2, 3 """ [[1 0 0] [0 2 0] [0 0 3]] """ diag_arr = np.arange(9).reshape(3, 3) print(diag_arr) """ [[0 1 2] [3 4 5] [6 7 8]] """ print(np.diag(diag_arr)) # [0 4 8] print(np.diag(diag_arr, k=1)) # [1 5] print(np.diag(diag_arr, k=-1)) # [3 7] ``` + `np.eye(N, M=None, k=0, dtype=float, order='C')` : 1 + | | | | :-------: | :----------------------------------------------------------: | | **N** | , | | **M** | , None | | **k** | ,0
kk
k-k | | **dtype** | , | | **order** | , , **C**,{'C', 'F'}
**C** :
**F** : | + ```python import numpy as np print(np.eye(4)) """ [[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.] [0. 0. 0. 1.]] """ ``` #### numpy random + `np.random.random(size)` : 0-1size(2, 2) + () : `np.random.seed(1)` + ```python import numpy as np # np.random.seed(1) print(np.random.random(5)) # [0.19812881 0.22344332 0.00308559 0.5842389 0.67662501] print(np.random.random((2, 3))) """ [[0.7775702 0.45005126 0.1029259 ] [0.77165046 0.28769795 0.72999339]] """ ``` + `np.random.randn(d0, d1, ..., dn)` : **** + ```python import numpy as np print(np.random.randn(2)) # [-0.61441249 0.44007701] ``` + `np.random.rand(d0, d1, ..., dn)` : 0-1 ** (,) ** + ```python import numpy as np print(np.random.rand(5)) # [0.55158559 0.58835226 0.57084476 0.16372193 0.22398622] print(np.random.rand(2, 3)) """ [[0.9423069 0.03469337 0.48966077] [0.80035928 0.64656614 0.23262355]] """ ``` + `np.random.stardard_normal(size=None)` : ****= 0stdev = 1 + : + **size** : **mnk** **m * n * k** + **np.random.randn** : + **randn** shape(*d0*, *d1*, *...*, *dn*)01 + **stardard_normal** shapesizesize + ```python np.random.standard_normal((2, 3, 4)) """ array( [[[ 0.4114533 , 0.11426395, 1.43661828, -0.27262121], [ 1.90990117, 0.15856119, 0.08476711, 2.59285364], [-0.86035996, -0.89235802, -1.13702572, 0.50942391]], [[-0.21854179, -0.25182636, -0.1003288 , -0.37723832], [-0.29564125, 0.31380058, -0.38441272, -0.51012865], [ 0.06783913, -0.16966757, 1.07430531, -1.21000938]]] ) """ ``` + `np.random.randint(low, high=None, size=None, dtype='l')` : ******N** + highNone[low,high)[0,low) + | | | | --------- | ------------------------------------------------------------ | | **low** | int int high = None** | | **high** | int int`high = None`******** | | **size** | **************(mnk)****m * n * k** | | **dtype** | ,, **np.int** | + `np.random.uniform(low=0.0, high=1.0, size=None)` : **[low, high)** ,**** + | | | | -------- | ------------------------------------------------------------ | | **low** | ****floatfloat,0 | | **high** | ****,floatfloat1 | | **size** | **************(mnk)****m * n * k** | ##### random ##### + | | | | ------------------------------------------------- | ------------------------------------------------------ | | `np.random.seed(x)` | ,() | | `np.random.permutation(x)` | ******** | | `np.random.shuffle(x)` | | | `np.random.binomial(n, p, size=None)` | **** | | `np.random.normal(loc=0.0, scale=1.0, size=None)` | ** () ** | | `np.random.beta(a, b, size=None)` | **beta ** | | `np.random.chisquare(df, size=None)` | **** | | `np.random.gamma(shape, scale=1.0, size=None)` | **gamma ** | + + `np.random.binomial(n, p, size=None)` : **** | | | | -------------- | ------------------------------------------------------------ | | **n** | intint0(**n**) | | **p** | floatfloat01.(****) | | **size** | intintsize(m,n,k)m*n*ksize=Nonenpnp.broadcast(n,p).size | + `np.random.normal(loc=0.0, scale=1.0, size=None)` : ** () ** | | | | --------- | ------------------------------------------------------------ | | **loc** | float,******center** | | **scale** | float,********scalescale | | **size** | **int****int**,shapeNone | + `np.random.beta(a, b, size=None)` : **beta ** | | | | -------- | ------------------------------------------------------------ | | **a** | **float****float**
(), | | **b** | **float****float** | | **size** | **int****int**,shapeNone | + `np.random.chisquare(df, size=None)` : **** | | | | -------- | ------------------------------------------------------------ | | **df** | **float****float**
,0 | | **size** | **int****int**,shapeNone | + `np.random.gamma(shape, scale=1.0, size=None)` : **gamma ** | | | | --------- | ------------------------------------------------------------ | | **shape** | **float****float**
() | | **scale** | **float****float**
() | | **size** | **int****int**,shapeNone | #### numpy \ + **[, ]**() + : + : + **** : ```python import numpy as np np.random.seed(1) arr = np.random.randint(1, 100, 8) print(arr) # [38 13 73 10 76 6 80 65] print(arr[0]) # 38 print(arr[0:1]) # [38] arr1 = np.random.randint(1, 100, (2, 3)) print(arr1) """ [[17 2 77] [72 7 26]] """ print(arr1[0]) # [17 2 77] print(arr1[0:1]) # [[17 2 77]] ``` + **** : `[: , : ]` ```python import numpy as np arr = np.arange(20).reshape(4, 5) print(arr) """ [[ 0 1 2 3 4] [ 5 6 7 8 9] [10 11 12 13 14] [15 16 17 18 19]] """ print(arr[0, 1:5]) # 0 1-4 [1 2 3 4] print(arr[1, 1:5]) # 1 1-4 [6 7 8 9] print(arr[1:3, 0]) # 0 1-2 [ 5 10] ``` + **** + ```python np.random.seed(1) arr = np.random.randint(1, 100, 8) # print(arr) # [38 13 73 10 76 6 80 65] arr_bool = arr % 2 != 0 print(arr[arr_bool]) # [13 73 65] ``` + ```python arr1 = np.random.randint(1, 100, (2, 3)) print(arr1[arr1 % 2 != 0]) # [ 7 99 37] arr2 = np.arange(16).reshape(4, 4) # arr2_bool = [True, False, False, True] print(arr2[:, arr2_bool]) """ [[ 0 3] [ 4 7] [ 8 11] [12 15]] """ ``` + **** + | | | | --------------------------- | ----------------------------------------------------------- | | `+` ==> `np.add(x, y)` | | | `-` ==> `np.subtract(x, y)` | | | `*` ==> `np.multiply(x, y)` | A B | | `/` ==> `np.divide(x, y)` | | | `**` ==> `np.sqrt(x)` | | | `>` | , | | `
Web Proxy Viewer |
New URL
|
Original Page