陣列的維數稱為秩(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上關係的有限集 邏輯結構 資料...