Python基礎之Numpy的基本用法詳解
a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) # 一維數組b = np.array([[1, 2], [3, 4]]) #二維數組
1.2 序列數組numpy.arange(start, stop, step, dtype),start默認0,step默認1
c = np.arange(0, 10, 1, dtype=int) # =np.arange(10) [0 1 2 3 4 5 6 7 8 9]d = np.array([np.arange(1, 3), np.arange(4, 6)]) # 二維數組# 不過為了避免麻煩,通常序列二維數組都是通過reshape進行重新組織dd = c.reshape(2, 5) # 將一維數組重新組合成2行5列1.3 隨機數組
numpy.random.random(size=None) 該方法返回[0.0, 1.0)范圍的隨機小數。numpy.random.randint() 該方法返回[low, high)范圍的隨機整數。該方法有三個參數low、high、size 三個參數。默認high是None,如果只有low,那范圍就是[0,low)。如果有high,范圍就是[low,high)numpy.random.randn(d0,d1,…,dn) 該方法返回一個或一組樣本,具有正態分布np.random.normal 指定期望和方差的正太分布
e = np.random.random(size=2) # 一維數組,元素兩個,[0.0,1.0]的隨機數f = np.random.random(size=(2, 3)) # 兩行三列數組,[0.0,1.0]的隨機數h = np.random.randint(10, size=3) # [0,10]范圍內的一行三列隨機整數i = np.random.randint(5, 10, size=(2, 3)) # [5,10]范圍內的2行3列隨機整數1.4 其他方式數組
numpy.zeros 創建指定大小的數組,數組元素以0 來填充numpy.ones 創建指定形狀的數組,數組元素以1 來填充numpy.empty 創建一個指定形狀(shape)、數據類型(dtype)且未初始化的數組,里面的元素的值是之前內存的值np.linspace 創建一個一維數組,數組是一個等差數列構成的numpy.logspace 創建一個于等比數
j = np.zeros((2, 5))k = np.ones((2, 5))l = np.linspace(1, 20, 10)二、數組屬性查看
ndarray.ndimdarray.shape 數組的維度和列,對于矩陣,n 行m 列ndarray.size 數組元素的總個數,相當于.shape 中n*m 的值ndarray.dtype ndarray 對象的元素類型ndarray.itemsize ndarray 對象中每個元素的大小,以字節為單位ndarray.flags ndarray 對象的內存信息ndarray.real ndarray 元素的實部ndarray.imag ndarray 元素的虛部ndarray.data 包含實際數組元素的緩沖區,由于一般通過數組的索引獲取元素,所以通常不需要使用這個屬性。
print(’ndim:數組的秩(維度)’.center(20, ’*’))print(’ndim:’, i.shape[1])三、數組索引
x = np.arange(1, 13) # 一維數組a = x.reshape(4, 3) # 二維數組print(‘x:’, x)print(‘a:’, a)
3.1 一維數組的索引print(x[2:])print(x[3:8])3.2 二維數組的索引
print(a[0]) # 第一行print(a[2, 2]) # 第三行第4列print(a[:, 2])print(a[::2, 0]) # 所有奇數行第1列數據print(a[(2, 1), (1, 2)]) # 第3行第2列,第2行第3列 = np.array((a[2,1],a[1,2]))取出來后在重新生成新的數組print(a[-2]) # 獲取倒數第二行print(a[::-1]) # 行倒序print(a[::-1, ::-1]) # 行列倒序四、數組的方法4.1 改變數組維度
reshape將一維數組變成二維或者三維ravel將三維數組變成一維數組,flatten將二維數組變成一維數組
4.2 數組拼接使用numpy.hstack(a1,a2) 函數將兩個數組水平組合numpy.vstack(a1,a2) 函數可以將兩個或多個數組垂直組合起來形成一個數組使用numpy.concatenate((a1, a2, …), axis),控制axis參數的值也可以實現hstack和vstack的功能,axis=0等同于vstack、axis=1等同于hstack
4.3 數組分隔b = np.split(x, 4) # 將一個一維數組四等分, 用b[1]的方式獲取每個塊的數據# print(b[1])c = np.split(a, 2, axis=0) # 二維數組的垂直分隔,按行分隔成兩部分# print(c[0])d = np.split(a, [2], axis=1) # 二維數組的水平分隔,按列分隔成兩部分# print(d[0])4.4 算術運算
加減乘除: add(),subtract(),multiply() 和divide()np.sum() 求和np.prod() 所有元素相乘np.mean() 平均值np.std() 標準差np.var() 方差np.median() 中數np.power() 冪運算np.sqrt() 開方np.min() 最小值np.max() 最大值np.argmin() 最小值的下標np.argmax() 最大值的下標np.inf 無窮大np.exp(10) 以e 為底的指數np.log(10) 對數
到此這篇關于Python基礎之Numpy的基本用法詳解的文章就介紹到這了,更多相關Python Numpy用法內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章:
