Python之Numpy庫的簡單介紹(一)

2021-10-03 15:03:15 字數 3007 閱讀 8742

numpy庫是乙個優秀的開源科學計算庫,下面是一些基礎的、對陣列進行的操作。

在想要應用numpy庫之前,記得新增如下語句。as的作用就相當於乙個賦值操作,np就作為numpy的物件

import numpy as np  # 這樣就可以用np呼叫numpy庫的函式,np相當於乙個別名
import numpy  # 或者直接使用numpy
array,其功能就是建立陣列

vector = np.array([1

,2,3

,4,5

])# 建立一維陣列

matrix = np.array([[

1,2]

,[3,

4],[

5,6]

])# 建立乙個3x2的陣列,二維陣列

cube = np.array([[

[1,2

,3],

[4,5

,6]]

,[[7

,8,9

],[10

,11,12

]]])

# 建立乙個2x2x3的三維陣列

對於cube這個三維陣列,理解起來可以將其比作乙個長方體(矩體),將這個長方體分成兩層,三行,兩列。由於三維陣列在不同的研究方向有不同的意思,有些我自己也不太懂。

array還有一些元素,可以對建立的陣列進行設定:

a = np.array([1

,2,3

,4,5

,6], dtype=

'int32' ,order=

'c')

# dtype的預設值是能夠讓陣列存在於這個序列中的最小型別,比如說乙個由整型和浮點型的陣列,dtype值為float32/float64,order常用的可選項為c和f,c是行優先,f是列優先

a.ndim # 可以得到a陣列的維度

a.t # 得到a的轉置

a.itemsize # 得到每個元素的型別大小(位元組)

a.nbytes # 得到整個陣列的大小(位元組)

a.shape # 得到a陣列的形狀,元組表示

a.size # 得到a陣列的元素個數

a.reshape(2,

3)# 得到乙個2x3的陣列,轉換陣列的形狀

a.min()

# 求最小值

a.max()

# 求最大值

arange,其功能是建立乙個給定範圍的陣列

np.arange(12)

# 建立乙個大小為12的陣列,並且元素值從0-11

np.arange(3,

9,1, dtype=

'int32'

)# 建立乙個從3開始到9(不包括9),跨度為1的陣列,其列印出來的結果就是[3,4,5,6,7,8]

ndarray,其功能是建立多維陣列

a=np.ndarray(shape=(3

,4),dtype=

int,

buffer

=np.arange(15)

.reshape(3,

5))# 第乙個shape是你想要建立陣列的樣式,值為乙個元組,buffer是你可以指定的乙個陣列,但是必須要比建立的樣式大,buffer的作用是你可以建立乙個根據已有值的新的陣列,不設定buffer,則賦隨機值

np.ndarray((2

,),buffer

=np.array([1

,2,3

]),offset=np.int_(

).itemsize,dtype=

int)

# offset表示偏移量,np.int_().itemsize,itemsize的意思就是計算位元組大小,np.int_()表示的是int32這一型別,int32型別佔4個位元組,那他們結合起來的意思就是,offset=4byte,跳過第乙個元素。

zeros,建立0元素陣列(ones)

np.zeros(shape=(3

,4,5

))# 元素值均為0

np.ones(shape=(3

,4,5

))# 元素值均為1

hstack、vstack、hsplit、vsplit、tile、dot、sum的使用,實際效果可以用本地ide除錯

np.hstack(array1,array2)

# 水平拼接

np.vstack(array1,array2)

# 垂直拼接

np.hsplit(array1,2)

# 將array1水平分割成兩個單獨的陣列

np.vsplit(array1,2)

# 將array1垂直分割

np.tile(array,(2

,2))

# 行數增加2倍,列數增加2倍

np.dot(array1,array2)

# 矩陣乘法

matrix = np.array([[

1,3,

4],[

2,24,

5],[

4,6,

7]])

matrix.

sum(axis =1)

# axis=1時把陣列中的元素按列相加,axis=0時把陣列按行相加

concatenate的使用

a = np.array([[

1,2,

3],[

4,5,

6]])

b = np.array([[

4,5,

6],[

7,8,

9]])

np.concatenate(

(a,b)

,axis=0)

# axis=0時,垂直合併 axis=1時,水平合併

今天先寫到這裡吧,適用於像我這樣的新手,是一些很簡單的操作,最主要是了解原理!

python的numpy庫結構 Numpy庫簡介

今天給大家分享乙個資料分析處理資料的常見的庫 numpy。這個庫是 python 資料分析的基礎,它提供的資料結構比 python 自身的更高效。我們知道 python 有自帶的列表資料結構。numpy 庫和 list 列表有什麼區別呢?python list 列表儲存的是物件的指標,比如 0,1,...

python常用庫之numpy 一

numpy庫是python的一種開源的數字拓展,可以用來儲存和處理大型矩陣 1.優點 多維陣列ndarray,元素級計算,運算快 資料讀寫方便 2.特點 陣列定義的時候大小固定 儲存元素為同質 同種資料型別 3.資料的生成 numpy支援多種資料型別 a.使用列表或元組資料構造 1.1 列表 arr...

Python資料分析之NumPy庫

numpy庫使用python進行科學計算,尤其是資料分析時,所用到的乙個基礎庫。它是大量python數學和科學計算包的基礎,比如我們後面會講到的pandas庫就用到了numpy。pandas庫專門用於資料分析,充分借鑑了python標準庫numpy的相關概念。而python標準庫所提供的內建工具對資...