Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 什么级数方法取代了搜索排序?_Python_Pandas - Fatal编程技术网

Python 什么级数方法取代了搜索排序?

Python 什么级数方法取代了搜索排序?,python,pandas,Python,Pandas,在他的视频[Data analysis In Python with pandas]()中,Wes McKinney介绍了一个名为searchsorted()的系列方法,该方法给出了一个值,并返回了该系列与该值相交的索引。看来这个功能已经不可用了,是不是有别的东西取代了它 我认为这是由于Pandas 0.13.0中发生的重构,Pandas Series现在是子类NDFrame而不是ndarray,请参见: [10行x 1列] [10 rows x 3 columns] In [28]: # y

在他的视频[Data analysis In Python with pandas]()中,Wes McKinney介绍了一个名为searchsorted()的系列方法,该方法给出了一个值,并返回了该系列与该值相交的索引。看来这个功能已经不可用了,是不是有别的东西取代了它

我认为这是由于Pandas 0.13.0中发生的重构,Pandas Series现在是子类NDFrame而不是ndarray,请参见:

[10行x 1列]

[10 rows x 3 columns]
In [28]:

# you now have to call `.values` to return a ndarray 
df.a.values.cumsum().searchsorted(11)
Out[28]:
5
现在比较一下如果使用numpy数组会发生什么:

In [29]:

temp = np.array(arange(10))

In [32]:

temp.cumsum().searchsorted(11)
Out[32]:
5

这是哪个视频?在熊猫中没有搜索排序方法,在numpy中有一个,你把它和这个混淆了吗?在2:00:21,他使用了
df.prop.cumsum().searchsorted
,这似乎是一个系列的方法。这看起来像是自从
Pandas 0.12
Numpy 1.6/1.7
以来发生了变化,在
Pandas 0.13.1
中,你发现你不能再这样做了,你需要做
np.searchsorted(df.prop.cumsum()).values,my_new_value)
不那么优雅。这可能与现在从
NDFrame
而不是
ndarray
导入的熊猫系列有关,因此,您现在失去了这个绝对不那么优雅的组合。。皮蒂
In [29]:

temp = np.array(arange(10))

In [32]:

temp.cumsum().searchsorted(11)
Out[32]:
5