欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

一文詳解NumPy分割與搜索數(shù)組

 更新時間:2024年05月17日 08:24:58   作者:小萬哥丶  
NumPy 提供了 np.array_split() 函數(shù)來分割數(shù)組,將一個數(shù)組拆分成多個較小的子數(shù)組和提供了多種方法來搜索數(shù)組中的元素,并返回匹配項的索引,本文將給大家詳細介紹NumPy分割與搜索數(shù)組,需要的朋友可以參考下

NumPy 分割數(shù)組

NumPy 提供了 np.array_split() 函數(shù)來分割數(shù)組,將一個數(shù)組拆分成多個較小的子數(shù)組。

基本用法

語法:

np.array_split(array, indices_or_sections, axis=None)

array: 要分割的 NumPy 數(shù)組。 indices_or_sections: 指定分割位置的整數(shù)列表或要包含每個子數(shù)組的元素數(shù)量的列表。 axis: 可選參數(shù),指定要分割的軸。默認為 0(即行分割)。

示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])

# 將數(shù)組分割成 3 個子數(shù)組
new_arrays = np.array_split(arr, 3)
print(new_arrays)  # 輸出:
                        # [array([1, 2]), array([3, 4]), array([5, 6])]

# 指定分割位置
new_arrays = np.array_split(arr, [2, 5])
print(new_arrays)  # 輸出:
                        # [array([1, 2]), array([3, 4]), array([5, 6])]

# 沿列分割
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
new_arrays = np.array_split(arr, 3, axis=1)
print(new_arrays)  # 輸出:
                        # [array([[1, 4, 7]]), array([[2, 5, 8]]), array([[3, 6, 9]])]

注意事項

如果 indices_or_sections 指定的分割位置超出數(shù)組范圍,則會引發(fā)異常。 如果數(shù)組元素數(shù)量不足以滿足分割要求,則會從末尾進行調(diào)整。 np.array_split() 返回一個包含子數(shù)組的列表。

高級用法

除了基本用法之外,np.array_split() 還可以用于更復雜的分割操作:

使用掩碼進行分割: 您可以使用掩碼數(shù)組來指示哪些元素應(yīng)該包含在每個子數(shù)組中。 不均勻分割: 您可以指定每個子數(shù)組包含的元素數(shù)量,即使數(shù)量不均等。 沿著任意軸分割: 您可以使用 axis 參數(shù)指定要分割的軸。

例如,以下代碼使用掩碼將數(shù)組分割成兩個子數(shù)組,第一個子數(shù)組包含所有偶數(shù)元素,第二個子數(shù)組包含所有奇數(shù)元素:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6])
mask = arr % 2 == 0
new_arrays = np.array_split(arr, mask)
print(new_arrays)  # 輸出:
                        # [array([2, 4, 6]), array([1, 3, 5])]

練習

使用 np.array_split() 將以下數(shù)組 arr 沿行分割成 4 個子數(shù)組,每個子數(shù)組包含相等數(shù)量的元素。

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12])

在評論中分享您的代碼和輸出。

NumPy 搜索數(shù)組

NumPy 提供了多種方法來搜索數(shù)組中的元素,并返回匹配項的索引。

基本用法:np.where()

語法:

np.where(condition)

condition:用于確定要查找的元素的布爾條件。

功能:

np.where() 逐個元素比較條件,并返回滿足條件的元素的索引。 它返回一個元組,其中包含一個或多個數(shù)組,每個數(shù)組表示滿足條件的元素的索引。

示例:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

# 查找值為 4 的索引
indices = np.where(arr == 4)
print(indices)  # 輸出: (array([3, 5, 6]),)

# 查找大于 5 的元素的索引
indices = np.where(arr > 5)
print(indices)  # 輸出: (array([6, 7, 8]),)

搜索排序數(shù)組:np.searchsorted()

語法:

np.searchsorted(array, value, side='left')

array:已排序的 NumPy 數(shù)組。 value:要搜索的值。 side:可選參數(shù),指定搜索方向。默認為 'left'(從左到右)。

功能:

np.searchsorted() 在排序數(shù)組中執(zhí)行二進制搜索,并返回指定值應(yīng)插入的位置以保持排序順序。 它假定輸入數(shù)組已排序。

示例:

import numpy as np

arr = np.array([1, 3, 5, 7, 9])

# 查找值 7 應(yīng)插入的索引
index = np.searchsorted(arr, 7)
print(index)  # 輸出: 3

# 從右側(cè)查找值 2 應(yīng)插入的索引
index = np.searchsorted(arr, 2, side='right')
print(index)  # 輸出: 1

練習

使用 np.where() 或 np.searchsorted() 正確找到以下數(shù)組 arr 中所有等于 3 的元素的索引。

import numpy as np

arr = np.array([1, 2, 3, 4, 3, 3, 6, 7, 8])

在評論中分享您的代碼和輸出。

最后

到此這篇關(guān)于一文詳解NumPy分割與搜索數(shù)組的文章就介紹到這了,更多相關(guān)NumPy分割與搜索數(shù)組內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論