【numpy 入門】-- 基本操作(1)
阿新 • • 發佈:2018-12-25
注:
在這裡,只是選擇一些常用的方法就行了,比如生成陣列中,array()可以有好幾種方式,但本人只是保留了常用的一些
參考:Numpy 官網教程
1. 生成陣列
>>> import numpy as np
>>> a = np.array([ [1,2,3,4], [1,2,3,4] ] ) # 直接填寫生成
>>> a
array([[1, 2, 3, 4],
[1, 2, 3, 4]])
>>>
>>> b = np.zeros((3,4)) # 生成三行四列元素為 0 的二維陣列
>>> b
array([[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.],
[ 0., 0., 0., 0.]])
>>>
>>> b = np.zeros((3,4),dtype = np.int) # 可以修改資料型別
>>> b
array([[0, 0, 0, 0],
[0, 0, 0, 0],
[0, 0, 0, 0]])
>>>
>>> c = np.ones((3,4)) # 類似地還有 ones() 方法
>>> c
array([[ 1., 1., 1., 1.],
[ 1., 1., 1., 1.],
[ 1., 1., 1., 1.]])
>>>
>>> d = np.arange(10) # 生成範圍在[0,10),間隔為 1 的矩陣
>>> d
array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> d = np.arange(1,10,1) # 生成範圍在[1,10),間隔為 1 的矩陣
>>> d
array([1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> d.reshape(3,3) # 顧名思義,重組形狀,變為 3*3
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
2. 基本運算
- 加減乘除
+ - * / **
這 5 種運算為矩陣對應元素相互運算 - 可以進行三角函式的計算:
np.sin(a)
- 布林運算:
a<35
,逐個元素和 35 進行比較,返回布林矩陣 - 矩陣的乘法,得滿足
(a,n)*(n,b)
形式
>>> import numpy as np
>>> a = np.array([[1,2],[3,4]])
>>> b = a
>>>
>>> a.dot(b)
array([[ 7, 10],
[15, 22]])
>>>
>>> np.dot(a,b) # 一樣使用
array([[ 7, 10],
[15, 22]])
- 對單一陣列的操作,引數中
axis = 0
表示列,axis = 1
表示行
>>> b = np.arange(16).reshape(4,4)
>>> b
array([[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11],
[12, 13, 14, 15]])
>>>
>>> b.sum() # 全部元素的和
120
>>> b.sum(axis=1) # 列和
array([ 6, 22, 38, 54])
>>> b.sum(axis=0) # 行和
array([24, 28, 32, 36])
>>>
>>> b.min() # 和 sum() 一樣使用
0
>>> b.max()
15
>>> b.cumsum(axis=1) # 每行元素的累積和
array([[ 0, 1, 3, 6],
[ 4, 9, 15, 22],
[ 8, 17, 27, 38],
[12, 25, 39, 54]], dtype=int32)
>>>
>>>
>>> c = np.arange(4)
>>> c
array([0, 1, 2, 3])
>>> np.exp(c) # 以 e 為低的指數運算
array([ 1. , 2.71828183, 7.3890561 , 20.08553692])
>>> np.sqrt(c)
array([ 0. , 1. , 1.41421356, 1.73205081])
這節講了一些基本的運算,差不多能夠滿足平時的使用了,但是官網教程裡還有 long long 長呢,繼續慢慢看唄