Numpy 庫的簡單介紹和使用

2021-08-29 04:10:51 字數 1442 閱讀 6735

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...