numpy 基礎資料結構

2021-10-05 11:10:34 字數 3422 閱讀 1052

陣列的維數稱為秩(rank),一維陣列的秩為1,二維陣列的秩為2,以此類推

在numpy中,每乙個線性的陣列稱為是乙個軸(axes),秩其實是描述軸的數量

比如說,二維陣列相當於是兩個一維陣列,其中第乙個一維陣列中每個元素又是乙個一維陣列,所以一維陣列就是numpy中的軸(axes),第乙個軸相當於是底層陣列,第二個軸是底層陣列裡的陣列,而軸的數量——秩,就是陣列的維數

import numpy as np

ar = np.array([1

,2,3

,4,5

,6])

print

(ar,

type

(ar)

)print

(ar.ndim)

# 陣列維度的個數(軸數)

print

(ar.shape)

# 陣列的維度,對於n行m列的陣列,shape為(n,m)

print

(ar.size)

# 陣列的元素總數,對於n行m列的陣列,元素總數為n*m

print

(ar.dtype)

# 陣列元素的資料型別,類似type()

# 陣列中每個元素的位元組大小,int32l型別位元組為4,float64的位元組為8

print

(ar.itemsize)

# 包含實際陣列元素的緩衝區,由於一般通過陣列的索引獲取元素,所以通常不需要使用這個屬性

print

(ar.data)

# array()函式:括號內可以是列表、元祖、陣列、生成器等

import numpy as np

ar = np.array(

range(0

,10))

# 生成器

ar2 = np.arange(0,

10)# numpy自帶生成器

ar3 = np.array([1

,2,3

,4,5

])# 陣列

ar4 = np.array([[

1,2,

3,4,

5],[

6,7,

8,9,

10]])

# 二維陣列

ar5 = np.array([[

0,1,

2],[

"a",

"b",

"c"]])

# 如果有字串,則全部變為字串

print

(ar)

print

(ar2)

print

(ar3)

print

(ar4)

print

(ar5)

# arange():類似range(),在給定間隔內返回均勻間隔的值

import numpy as np

print

(np.arange(10)

)# 返回0-9的整型

print

(np.arange(

10.0))

# 返回0.0-9.0的浮點型

print

(np.arange(5,

12))# 返回5-11,左閉右開

print

(np.arange(

5.0,12,

2))# 返回5.0-12.0,步幅為2

# 如果陣列太大,numpy會自動跳過陣列的中心部分,只列印邊角資料

print

(np.arange(

10000

))

numpy.linspace(start, stop, num=50, endpoint=true, retstep=false, dtype=none)

start:起始值,stop:結束值

num:生成樣本數,預設為50

endpoint:如果為真,則包含最後乙個樣本。否則,不包括在內。預設值為true

retstep:如果為真,返回(樣本,步幅),其中步幅是樣本之間的間距,輸出為乙個包含2個元素的元祖,第乙個元素為array,第二個為步長實際值。預設值為false

# linspace():返回在間隔[開始,停止]上計算的num個均勻間隔的樣本

import numpy as np

print

(np.linspace(10,

20,num =20)

)# 左閉右閉

print

(np.linspace(10,

20,num =

20,endpoint =

false))

# 不包含末尾值(預設是true)

# 返回元祖,包含陣列本身和步幅(預設為false)

print

(np.linspace(10,

20,num =

20,retstep =

true

))

numpy.zeros(shape, dtype=float, order=『c』)

shape:陣列緯度,二維以上需要用(),且輸入引數為整數

dtype:資料型別,預設numpy.float64

order:是否在儲存器中以c或fortran連續(按行或列方式)儲存多維資料

ones()/ones_like()和zeros()/zeros_like()一樣,只是填充為1

# 返回給定形狀和型別的新陣列,用零填充

import numpy as np

print

(np.zeros((2

,5),dtype = np.

int)

)# 預設dtype為int32

ar = np.array(

[list

(range(0

,10))

,list

(range(10

,20))

])print

(np.zeros_like(ar)

)# 返回具有與給定陣列相同的形狀和型別的零陣列

# eye():建立乙個正方的n*n的單位矩陣,對角線值為1,其餘為0

import numpy as np

print

(np.eye(

5,dtype =

int)

)# 預設dtype為float

Numpy 基礎資料結構

numpy是python中乙個執行速度非常快的的數學庫,主要用於陣列計算,包含 接下來,我會系列介紹numpy的知識點,包含其基礎資料結構,通用函式,索引及切片,隨機數生成,資料的讀取與輸出。本篇先從numpy的基礎資料結構開始。事實上,pyhton中乙個更常用且強大的工具包pandas就是在num...

Numpy常用的資料結構

numpy安裝 pip install numpy numpy底層是使用c語言來實現運算的效果非常高 資料清洗的意義 資料清洗常用工具 arange和rang的區別 numpy常用的資料結果 numpy常用方法 zeros ones dtype size 返回陣列中使用元素的總和 shape 檢視該...

資料結構基礎

資料結構定義 定義 一 資料元素集合 也可稱資料物件 中各元素的關係。定義 二 相互之間存在特定關係的資料元素集合。資料結構的種類 1 集合 2 線性結構 3 樹形結構 4 圖狀結構 或網狀結構 資料結構的形式定義 資料結構名稱 d,s 其中d為資料元素的有限集,s是d上關係的有限集 邏輯結構 資料...