Python基礎之Numpy的基本用法詳解

2022-09-25 19:24:11 字數 3115 閱讀 1064

a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]) # 一維陣列

b = np.array([[1, 2], [3, 4]]) #二維陣列

numpy.arange(start, stop, step, dtype),start預設0,step預設1

c = np.arange(0, 10, 1, dtype=int) # =np.arange(10) [0 1 2 3 4 5 6 7 8 9]

d = np.array([np.arange(1, 3), np.arange(4, 6)]) www.cppcns.com# 二維陣列

# 不過為了避免麻煩,通常序列二維陣列都是通過reshape進行重新組織

dd = c.reshape(2, 5) # 將一維陣列重新組合成2行5列

numpy.random.random(size=none) 該方法返回[0.0, 1.0)範圍的隨機小數。

numpy.random.randint() 該方法返回[low, high)範圍的隨機整數。

該方法有三個引數low、high、size 三個引數。預設high是none,如果只有low,那範圍就是[0,low)。如果有high,範圍就是[low,high)

numpy.random.randn(d0,d1,…,dn) 該方法返回乙個或一組樣本,具有正態分佈

np.random.normal 指定期望和方差的正太分布

e = np.random.random(size=2) # 一維陣列,元素兩個,[0.0,1.0]的隨機數

f = np.random.random(size=(2, 3)) # 兩行三列陣列,[0.0,1.0]的隨機數

h = np.random.randint(10, size=3) # [0,10]範圍內的一行三列隨機整數

i = np.random.randint(5, 10, size=(2, 3)) # [5,10]範圍內的2行3列隨機整數

numpy.zeros 建立指定大小的陣列,陣列元素以0 來填充

numpy.ones 建立指定形狀的陣列,陣列元素以1 來填充

numpy.empty 建立乙個指定形狀(shape)、資料型別(dtype)且未初始化的陣列,裡面的元素的值是之前記憶體的值

np.linspace 建立乙個一維陣列,陣列是乙個等差數列構成的

numpy.logspace 建立乙個於等比數

j = np.zeros((2, 5))

k = np.ones((2, 5))

l = np.linspace(1, 20, 10)

ndarray.ndim

darray.shape 陣列的維度和列,對於矩陣,n 行m 列

ndarray.size 陣列元素的總個數,相當於.shape 中n*m 的值

ndarray.dtype ndarrawww.cppcns.comy 物件的元素型別

ndarray.itemsize ndarray 物件中每個元素的大小,以位元組為單位

ndarray.flags ndarray 物件的記憶體資訊

ndarray.real ndarray 元素的實部

ndarray.imag ndarray 元素的虛部

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

print(www.cppcns.com'ndim:陣列的秩(維度)'.center(20, '*'))

print('ndim:', i.shape[1])

x = np.arange(1, 13) # 一維陣列

a = x.reshape(4, 3) # 二維陣列

print(『x:', x)

print(『a:', a)

print(x[2:])

print(x[3:8])

print(a[0]) # 第一行

print(a[2, 2]) # 第三行第4列

print(a[:, 2])

print(a[::2, 0]) # 所有奇數行第1列資料

print(a[(2, 1), (1, 2)]) # 第3行第2列,第2行第3列 = np.array((a[2,1],a[1,2]))取出來後在重新生成新的陣列

print(a[-2]) # 獲取倒數第二行

print(a[::-1]) # 行倒序

print(a[::-1, ::-1]) # 行列倒序

reshape將一維陣列變成二維或者三維

r**el將三維陣列變成一維陣列,flatten將二維陣列變成一維陣列

使用numpy.hstack(a1,a2) 函式將兩個陣列水平組合

numpy.vstack(a1,a2) 函式可以將兩個或多個陣列垂直組合起來形成乙個陣列

使用numpy.concatenate((a1, a2, …), axis),控制axis引數的值也可以實現hstack和vstack的功能,axis=0等同於vstack、axis=1等同於hstack

b = np.split(x, 4) # 將乙個一維陣列四等分, 用b[1]的方式獲取每個塊的資料

# print(b[1])程式設計客棧

c = np.split(a, 2, axis=0) # 二維陣列的垂直分隔,按行分隔成兩部分

# print(c[0])

d = np.split(a, [2], axis=1) # 二維陣列的水平分隔,按列分隔成兩部分

# print(d[0])

加減乘除: add(),subtract(),multiply() 和divide()

np.sum() 求和

np.prod() 所有元素相乘

np.mean() 平均值

np.std() 標準差

np.var() 方差

np.median() 中數

np.power() 冪運算

np.sqrt() 開方

np.min() 最小值

np.max() 最大值

np.argmin() 最小值的下標

np.argmax() 最大值的下標

np.inf 無窮大

np.exp(10) 以e 為底的指數

np.log(10) 對數

Python學習之Numpy基礎(一)

一 先安裝所需要的python庫numpy import numpy 二 讀乙個檔案 numpy.genfromtxt 絕對路徑或相對路徑 delimer 分隔符 dtype 以 str float 方式讀取資料 通常先以str方式讀入資料,再轉為其他型別的資料 world alcohol nump...

Python的Numpy入門基礎1

numpy作為python的常用庫,主要實現陣列的計算和分析,其優點是直接進行陣列計算,相比python的巢狀列表,更加高效。在功能上,與pandas存在一定的相似性。引用庫的方法 import numpy as np 一般縮寫為np,方便後續的引用在資料分析過程中,存在建立定義 索引 切片 矩陣轉...

Python中Numpy的基礎用法

python中numpy的基礎用法 numpy是科學計算中非常常用的乙個庫,numpy中經常用到陣列這種型別,python中並沒有陣列的概念,而陣列這個概念在其它語言中卻很常見,如c語言。陣列跟列表的主要區別在於,列表中資料的型別可以不同,而陣列中必須由同一型別的資料組成。那麼python已有列表型...