Python Pandas Series.searchsorted()
Python是一种进行数据分析的伟大语言,主要是因为以数据为中心的Python包的奇妙生态系统。Pandas就是这些包中的一个,它使导入和分析数据变得更加容易。
Pandas searchsorted() 是一个用于排序系列的方法。它允许用户将要插入系列中的值作为参数,并返回可以插入值的位置数组,这样系列的顺序仍然被保留下来。
语法: Series.searchsorted(value, side=’left’, sorter=None)
参数:
value: 要插入自我的值(呼叫者系列)。
side: ‘left’ or ‘right’,分别返回值的第一个或最后一个合适的位置
sorter: 指数数组,其大小与传递的系列相同。如果sorter为None,则调用者系列必须是升序的,否则sorter应该是对其进行排序的索引数组。
返回类型: 指数的数组
示例 #1:
在这个例子中,searchsorted()方法被调用到一个排序的系列,3个值被作为参数传递。
# 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被返回,因为默认的侧面参数是 “左”。因此,在数值相等的情况下,它返回左边的索引。
例子#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])
如输出中所示,在通过的列表中,每一个值的索引位置都被返回,这样,如果值被放在该索引处,系列的顺序就会被保留下来。