Python| Pandas Series.searchsorted()
Python是一种用于进行数据分析的出色语言,主要是因为以数据为中心的Python包的奇妙生态系统。 Pandas就是其中之一,它使导入和分析数据变得更加容易。
Pandas searchsorted()
是一种排序序列的方法。它允许用户将值作为要插入系列的参数传递,并返回可以插入值的位置数组,以便仍然保留系列的顺序。
Syntax: Series.searchsorted(value, side=’left’, sorter=None)
Parameters:
value: Values to be inserted into self (Caller series)
side: ‘left’ or ‘right’, returns first or last suitable position for value respectively
sorter: Array of indices which is of same size as series is passed. If sorter is None, caller series must be in ascending order, otherwise sorter should be array of indices that sorts it.
Return type: Array of indices
示例 #1:
在这个例子中, searchsorted()
方法在一个排序序列上被调用,并且 3-values 作为参数被传递。
# importing pandas module
import pandas as pd
# importing numpy module
import numpy as np
# creating list
list =[0, 2, 3, 7, 12, 12, 15, 24]
# creating series
series = pd.Series(list)
# values to be inserted
val =[1, 7, 14]
# calling .searchsorted() method
result = series.searchsorted(value = val)
# display
result
输出:
array([1, 3, 6])
如输出所示,返回每个值的索引。由于 7 已经串联存在,因此为其返回索引位置 6,因为默认的侧参数是 'left'。因此,如果值相等,它会返回左侧索引。
示例 #2:在一系列字符串上Searchsorted()
。
在此示例中,使用 Pandas Series 方法从Python列表中生成了一些水果名称的排序系列。之后,两个字符串的列表作为searchsorted()
方法的值参数传递。
# importing pandas module
import pandas as pd
# importing numpy module
import numpy as np
# creating list
data =['apple', 'banana', 'mango', 'pineapple', 'pizza']
# creating series
series = pd.Series(data)
# values to be inserted
val =['grapes', 'watermelon']
# calling .searchsorted() method
result = series.searchsorted(value = val)
# display
result
输出:
array([2, 5])
如输出所示,为传递列表中的每个值返回索引位置,以便如果将值放在该索引处,将保留系列的顺序。