Movatterモバイル変換


[0]ホーム

URL:


Skip to main content
Ctrl+K

pandas.Series.searchsorted#

Series.searchsorted(value,side='left',sorter=None)[source]#

Find indices where elements should be inserted to maintain order.

Find the indices into a sorted Seriesself such that, if thecorresponding elements invalue were inserted before the indices,the order ofself would be preserved.

Note

The Seriesmust be monotonically sorted, otherwisewrong locations will likely be returned. Pandas doesnotcheck this for you.

Parameters:
valuearray-like or scalar

Values to insert intoself.

side{‘left’, ‘right’}, optional

If ‘left’, the index of the first suitable location found is given.If ‘right’, return the last such index. If there is no suitableindex, return either 0 or N (where N is the length ofself).

sorter1-D array-like, optional

Optional array of integer indices that sortself into ascendingorder. They are typically the result ofnp.argsort.

Returns:
int or array of int

A scalar or array of insertion points with thesame shape asvalue.

See also

sort_values

Sort by the values along either axis.

numpy.searchsorted

Similar method from NumPy.

Notes

Binary search is used to find the required insertion points.

Examples

>>>ser=pd.Series([1,2,3])>>>ser0    11    22    3dtype: int64
>>>ser.searchsorted(4)3
>>>ser.searchsorted([0,4])array([0, 3])
>>>ser.searchsorted([1,3],side='left')array([0, 2])
>>>ser.searchsorted([1,3],side='right')array([1, 3])
>>>ser=pd.Series(pd.to_datetime(['3/11/2000','3/12/2000','3/13/2000']))>>>ser0   2000-03-111   2000-03-122   2000-03-13dtype: datetime64[ns]
>>>ser.searchsorted('3/14/2000')3
>>>ser=pd.Categorical(...['apple','bread','bread','cheese','milk'],ordered=True...)>>>ser['apple', 'bread', 'bread', 'cheese', 'milk']Categories (4, object): ['apple' < 'bread' < 'cheese' < 'milk']
>>>ser.searchsorted('bread')1
>>>ser.searchsorted(['bread'],side='right')array([3])

If the values are not monotonically sorted, wrong locationsmay be returned:

>>>ser=pd.Series([2,1,3])>>>ser0    21    12    3dtype: int64
>>>ser.searchsorted(1)0  # wrong result, correct would be 1

[8]ページ先頭

©2009-2025 Movatter.jp