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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。