NumPy 的 searchsorted(~)
方法返回要添加到排序数组中的元素的索引。
参数
1. a
| array_like
输入数组。如果未提供sorter
,则a
必须按升序排序。
2. v
| array_like
如果要将这些值添加到已排序的输入数组中,则要查找其索引的值。
3. side
| string
| optional
两个可能的值如下:
参数值 |
意义 |
---|---|
|
如果值重复,则返回第一个合适的索引 |
|
如果值重复,则返回最后一个合适的索引 |
默认情况下,side="left"
。
4. sorter
| array-like
| optional
如果输入数组 a 不是按升序排序,那么我们必须提供一个一维数组来保存使 a 按升序排序的索引。
返回值
NumPy 数组,其中包含要添加到排序数组中的元素索引。
例子
搜索按 side=left 排序
要查找值 7
(如果它已添加到数组 [6,7,8,9]
中)的索引:
np.searchsorted([6,7,8,9], 7) # or with parameter side=left
1
这里,返回1
,因为当值7
插入到数组中时,它将被放置在第一个索引中(即其重复项的左侧)。
此外,重要的是我们的输入数组按升序排序,因为我们没有提供 sorter
参数。
搜索按 side=right 排序
要获取值的正确索引:
np.searchsorted([6,7,8,9], 7, side="right")
2
这里,返回2
,因为当值7
插入到数组中时,它将被放置在第二个索引中(即其重复项的右侧)。
传入值数组
我们还可以传递一个值数组,而不是只传递一个标量,如下所示:
np.searchsorted([2,3,4,5], [0,3,6])
array([0, 1, 4])
请注意如何逐一考虑每个元素 - 这就是值 6 的索引是 4 的原因。
传入分拣机
方法 searchsorted(~)
要求输入数组按升序排序。如果不是,我们需要传入一个一维数组,该数组按升序对输入数组进行排序,如下所示:
np.searchsorted([2,1,3,4], 2, sorter=[1,0,2,3])
1
相关用法
- Python seaborn.swarmplot()用法及代码示例
- Python seaborn.residplot()用法及代码示例
- Python seaborn.regplot()用法及代码示例
- Python seaborn.PairGrid()用法及代码示例
- Python seaborn.boxenplot()用法及代码示例
- Python seaborn.pairplot()用法及代码示例
- Python seaborn.factorplot()用法及代码示例
- Python seaborn.FacetGrid()用法及代码示例
- Python seaborn.lineplot()用法及代码示例
- Python seaborn.lmplot()用法及代码示例
- Python seaborn.pointplot()用法及代码示例
- Python seaborn.jointplot()用法及代码示例
- Python dict setdefault()用法及代码示例
- Python calendar setfirstweekday()用法及代码示例
- Python NumPy set_printoptions方法用法及代码示例
- Python Django serve用法及代码示例
- Python Django sensitive_variables用法及代码示例
- Python BeautifulSoup select_one方法用法及代码示例
- Python set clear()用法及代码示例
- Python NumPy set_string_function方法用法及代码示例
- Python Tableau server_info.get用法及代码示例
- Python NumPy setdiff1d方法用法及代码示例
- Python BeautifulSoup select方法用法及代码示例
- Python Pandas series.cummax()用法及代码示例
- Python Pandas series.cumprod()用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 NumPy | searchsorted method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。