Python是进行数据分析的一种出色语言,主要是因为以数据为中心的python软件包具有奇妙的生态系统。 Pandas是其中的一种,使导入和分析数据更加容易。
Pandas searchsorted()
是排序序列的一种方法。它允许用户将要插入序列中的值作为参数传递,并返回可以插入值的位置数组,以便仍保留序列的顺序。
用法:Series.searchsorted(value, side=’left’, sorter=None)
参数:
value:要插入自身的值(调用者系列)
side:“ left”或“ 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个序列存在,因此由于默认的side参数为“ left”,因此为其返回了索引位置6。因此,如果值相等,它将返回左侧索引。
范例2:Searchsorted()
在一系列的字符串上。
在此示例中,使用Pandas Series方法从python列表中生成了一些水果名称的排序序列。之后,将两个字符串的列表作为的value参数传递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])
如输出中所示,将为传递的列表中的每个值返回索引位置,因此,如果将值放在该索引处,则将保留序列的顺序。
相关用法
- Python pandas.map()用法及代码示例
- Python Pandas Series.str.len()用法及代码示例
- Python Pandas.factorize()用法及代码示例
- Python Pandas TimedeltaIndex.name用法及代码示例
- Python Pandas dataframe.ne()用法及代码示例
- Python Pandas Series.between()用法及代码示例
- Python Pandas DataFrame.where()用法及代码示例
- Python Pandas Series.add()用法及代码示例
- Python Pandas.pivot_table()用法及代码示例
- Python Pandas Series.mod()用法及代码示例
- Python Pandas Dataframe.at[ ]用法及代码示例
- Python Pandas Dataframe.iat[ ]用法及代码示例
- Python Pandas.pivot()用法及代码示例
- Python Pandas dataframe.mul()用法及代码示例
- Python Pandas.melt()用法及代码示例
注:本文由纯净天空筛选整理自Kartikaybhutani大神的英文原创作品 Python | Pandas Series.searchsorted()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。