python在處理資料時,會涉及到很多線性代數的運算,比如矩陣的計算,nump的存在,大大簡化了在使用python計算的複雜性,下面簡單介紹下numpy的一些基礎。
numpy庫中存在兩種資料型別,陣列(ndarray)和矩陣(matrix):
生成陣列(ndarray):
arr = np.array([[1, 2, 3, 4, 5, 6],[2,3, 4, 5, 6, 7]])
arr = np.array((1, 2, 3, 4, 5))
arr = np.arange(5) # [0 1 2 3 4]
arr = np.linspace(0, 5, 5)
linspace(a, b , c, d) 在[a, b]中均勻的取c個數,d為false 不包含b, 預設為true
生成元素全為0的陣列:
zero_arr = np.zeros((7, 7))
生成元素全為1的陣列:
one_arr = np.ones((7,7))
生成單位矩陣形式的陣列:
eye = np.eye(7)
生成隨機數組:
random_arr = np.random.random((7, 7))
從ndarray中取值:
類似 切片,例如 random_arr 為7*7的陣列
取前兩行:
random_arr[:2], 其實真正的形式為 random[:2, :],即 獲取前兩行的所有列的元素
那前兩列就為:
random_arr[:, :2], 前面的冒號不能省略
故 前兩行和前兩列的元素為:
random[:2, :2]
以此類推可以獲取任何的形式的元素
間隔取就是這種形式:
randim[::2, ::2] 從0開始 行列都間隔一行獲取元素
四則運算:
numpy的加減乘除運算和普通型別一樣 直接 + - * / 就可以
arr1 = np.random.random((5, 5))
arr2 = np.random.random((5, 5))
sum = arr1 + arr2
minus = arr1 - arr2
mult = arr1 * arr2
divid = arr1 / arr2
值得注意的是,四則運算都是對應位置元素之間的運算,特別是乘法,要和矩陣乘法區分,由於是對應元素,故相互運算的兩個陣列的尺寸即shape 要相同。
矩陣乘法運算要使用 dot
arr1.dot(arr2)
numpy 陣列的屬性:
簡單介紹幾個,可以通過dir 檢視所有屬性
arr.ndim 陣列的維度
arr.size 陣列的大小
arr.itemsize 陣列的乙個元素所占用的位元組
arr.nbytes 陣列所有元素所占用的位元組
NumPy庫的簡單使用
numpython提供了兩種基本的物件 陣列的屬性及其說明 屬性說明 ndim 返回int。表示陣列的維數 shape 返回tuple。表示陣列的尺寸,對於n行m列的矩陣,形狀為 n,m size 返回int。表示陣列的元素總數,等於陣列形狀的乘積 dtype 返回data type。描述陣列中元素...
Python之Numpy庫的簡單介紹(一)
numpy庫是乙個優秀的開源科學計算庫,下面是一些基礎的 對陣列進行的操作。在想要應用numpy庫之前,記得新增如下語句。as的作用就相當於乙個賦值操作,np就作為numpy的物件 import numpy as np 這樣就可以用np呼叫numpy庫的函式,np相當於乙個別名import nump...
numpy 介紹和基礎使用詳解
numpy 提供了乙個在python中做科學計算的基礎庫,重在數值計算,主要用於處理多維陣列,用於儲存和處理大型矩陣,本身是由c語言開發,比python自身的列表結構要高效的多。高效能科學計算和資料分析的基礎包,總結 形狀 ndarray.shape 重新改變陣列形狀 ndarray.reshape...