numpy中使用陣列進行面向陣列程式設計

2021-10-03 14:54:58 字數 892 閱讀 9864

一、將條件邏輯作為陣列操作

(一)numpy.where函式

1、定義

是三元表示式x if condition else y的向量化版本

2、形式

np.where(a,b,c)表示如果符合條件a則執行b否則執行c

二、數學和統計方法

np.random.randn()表示生成正態分佈的隨機數

部分函式mean、sum等可以接收乙個可選引數axis,用於計算給定軸向上的統計值,形成乙個下降一維度的陣列,axis=1表示計算每一列的某個統計值,axis=0表示計算每一行的某個統計值(其中axis=可省略不寫)

例如:import numpy as np

arr =np.random.randn(5,4)

print(np.mean(arr))

print(arr.mean(0))

print(arr.mean(axis=0))

三、布林值陣列的方法

布林值會被強制為1(true)和0(false),也適用於非布林值陣列,所有的非0元素都會按true處理。

(一)any檢查陣列中是否至少有乙個true

(二)all檢查是否每個值都是true

例如:import numpy as np

bools =np.array([false,false,true,false])

print(bools.any())

print(bools.all())

四、部分集合函式

在NumPy中使用動態陣列

本文 numpy的ndarray陣列物件不能像list一樣動態地改變其大小,在做資料採集時很不方便。本文介紹如何通過np.frombuffer 實現動態陣列。python的列表物件實際上是乙個動態指標陣列。當列表中沒有空間儲存新的元素時,列表會動態地改變其大小,以容納新的元素。每次改變大小時,它都會...

使用Numpy進行one hot編碼

在實現很多機器學習任務的時候,經常需要將labels進行one hot encoding,具體思想這裡就不詳述,借一張圖來表示 numpy實現可以是這樣 函式需不需要返回轉置要根據具體情況看 如果不轉置每個label返回的就是乙個行向量 這裡轉置了,每個label就是對應的列向量 def conve...

numpy的使用 陣列屬性

numpy彌補了python的array不支援多維的遺憾,numpy提供了一種儲存單一資料型別的多維陣列 ndarray。numpy是乙個科學計算庫,核心是多維陣列ndarry 多維陣列 ndarray儲存方式和list不一樣,ndarray是一塊整體的記憶體來儲存資料。儲存風格兩種方式 c方式按行...