Numpy 的 choose(~)
方法根據輸入數組的子集構造一個新數組。選擇子集的方式非常獨特,通過示例進行解釋比通過文字進行解釋要好得多,所以請查看下麵的示例!
參數
1.a
| array-like
共 int
要提取的整數索引數組。
2. choices
|數組序列
超級組。
3. out
| Numpy array
| optional
用於放置提取的子集的 Numpy 數組。
4. mode
| string
| optional
如何處理索引越界:
模式 |
說明 |
---|---|
raise |
拋出一個錯誤。 |
wrap |
圍繞數組進行另一個循環。 |
clip |
獲取數組的最後一個元素。 |
默認情況下,mode="raise"
。
返回值
包含指定子集的 Numpy 數組。
例子
一維數組
要從一維數組中提取第一個和第三個索引:
a = np.array([4,5,6,7])
np.choose([1,3], a)
array([5, 7])
二維數組
a = np.array([[4,5,6],[7,8,9],[10,11,12]])
np.choose([1,0,1], a)
array([ 7, 5, 9])
在這裏,我們按順序執行以下操作:
-
提取 1+1=2nd 數組的第 0 個索引處的值(即 [7,8,9]),即 7。
-
提取 0+1=1st 數組的第一個索引處的值(即 [4,5,6]),即 5。
-
提取 1+1=2nd 數組的第二個索引處的值(即 [7,8,9]),即 9。
第一個參數 [1,0,1]
隻意味著我們要從索引 1、0 和 1 處的數組中提取一個值。將選擇的具體值取決於順序:
-
結果數組中的第一個元素將是位於索引 1 處的數組的第 0 個索引。
-
結果數組中的第二個元素將是位於索引 0 處的數組的第一個索引。
-
等等。
這是另一個測試你的理解的例子:
a = np.array([[4,5,6],[7,8,9],[10,11,12]])
np.choose([2,0,1], a)
array([10, 5, 9])
不同模式
增加
mode 的默認參數值為 raise:
a = np.array([7,8,9])
np.choose([4], a, mode="raise")
ValueError: invalid entry in choice array
在這裏,我們收到錯誤,因為我們指定的索引 (4) 超出範圍。
包裹
a = np.array([7,8,9])
np.choose([4], a, mode="wrap")
array([8])
這裏,由於索引 4 不存在,所以我們圍繞數組進行另一個循環; 4-3=然後選擇第一個索引。
夾子
a = np.array([7,8,9])
np.choose([4], a, mode="clip")
array([9])
在這裏,由於索引 4 超出範圍,我們隻獲取數組的最後一個元素 4。
相關用法
- Python NumPy choice方法用法及代碼示例
- Python NumPy char find方法用法及代碼示例
- Python NumPy char less_equal方法用法及代碼示例
- Python NumPy char greater方法用法及代碼示例
- Python NumPy char equal方法用法及代碼示例
- Python NumPy char lower方法用法及代碼示例
- Python NumPy char less方法用法及代碼示例
- Python Wand charcoal()用法及代碼示例
- Python NumPy char split方法用法及代碼示例
- Python NumPy char greater_equal方法用法及代碼示例
- Python NumPy char multiply方法用法及代碼示例
- Python NumPy char upper方法用法及代碼示例
- Python NumPy char not_equal方法用法及代碼示例
- Python NumPy char isupper方法用法及代碼示例
- Python NumPy char add方法用法及代碼示例
- Python numpy chararray.tostring用法及代碼示例
- Python chr方法用法及代碼示例
- Python numpy char.chararray.tostring用法及代碼示例
- Python chr()用法及代碼示例
- Python NumPy char count方法用法及代碼示例
- Python NumPy char rjust方法用法及代碼示例
- Python NumPy char rstrip方法用法及代碼示例
- Python NumPy char ljust方法用法及代碼示例
- Python cudf.core.column.string.StringMethods.is_vowel用法及代碼示例
- Python cudf.Series.ceil用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 NumPy | choose method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。