1.numpy數組的操作
(1)數組的連接
stack
????????該函數可以實現多個數組的堆疊(連接),會創建新的軸,用于沿著新的軸連接一系列數組,所有數組必須具有相同的形狀。
? ? ? ? 可以增加數組的維度。
????????假設輸入的每個數組都是?n
?維數組,則?stack
?合并后得到的新數組是?n+1
?維數組,新增的維度大小等于輸入數組的數量。
numpy.stack(arrays, axis=0, out=None)
參數:arrays:數組元素或列表
(2)數組的分割
split
????????該函數用于沿著指定的軸將數組分割成多個子數組,可以指定要分割的數組、分割的位置或子數組的數量。
numpy.split(ary, indices_or_sections, axis=0)
參數:ary:數組
????????indices_or_sections:可以是一個整數,表示要將數組平均分割成多少個子數組;也可以是一個整數列表,表示分割的位置。
import numpy as np# a = np.array([1,2,3,4,5])
# b = np.array([6,7,8,9,0])
# # 將多個數組進行堆疊,維度會發生變化
# c = np.stack([a, b], axis=1)
# print(c)arr = np.ones([3,6])
# 數組的分割,可以指定整數或下標的列表
b, c, d = np.split(arr, [1,2], axis=1)
print(b)
print(c)
print(d)
(3)where函數
????????numpy.where是 NumPy 庫中的一個函數,它可以根據指定的條件返回滿足該條件的元素的索引。
????????當 numpy.where 接受一個條件作為參數時,它會返回一個元組,每個元素是一個numpy數組,其中包含滿足該條件的元素的索引(行索引、列索引)。
numpy.where(condition)
參數:一個布爾數組或條件表達式
返回值:一個元組,其中包含滿足條件的元素的索引
import numpy as np
arr = np.array([4,6,6,3,5,2,9])
cond = arr>4
# 返回bool數組
print(cond)
ret = np.where(cond)
# 返回為真的下標
print(ret)
# 通過下標返回值
print(arr[ret])