Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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_Numpy_Pandas - Fatal编程技术网

Python 大熊猫比小熊慢很多?

Python 大熊猫比小熊慢很多?,python,numpy,pandas,Python,Numpy,Pandas,下面的代码表明pandas可能比numpy慢得多,至少在函数clip()的特定情况下是如此。令人惊讶的是,在用numpy进行计算的同时,从熊猫到numpy再回到熊猫的往返行程仍然比用熊猫进行计算快得多 熊猫功能不应该以这种迂回的方式实现吗 In [49]: arr = np.random.randn(1000, 1000) In [50]: df=pd.DataFrame(arr) In [51]: %timeit np.clip(arr, 0, None) 100 loops, best

下面的代码表明pandas可能比numpy慢得多,至少在函数clip()的特定情况下是如此。令人惊讶的是,在用numpy进行计算的同时,从熊猫到numpy再回到熊猫的往返行程仍然比用熊猫进行计算快得多

熊猫功能不应该以这种迂回的方式实现吗

In [49]: arr = np.random.randn(1000, 1000)

In [50]: df=pd.DataFrame(arr)

In [51]: %timeit np.clip(arr, 0, None)
100 loops, best of 3: 8.18 ms per loop

In [52]: %timeit df.clip_lower(0)
1 loops, best of 3: 344 ms per loop

In [53]: %timeit pd.DataFrame(np.clip(df.values, 0, None))
100 loops, best of 3: 8.4 ms per loop
在master/0.13(很快发布)中,这要快得多(由于处理对齐/dtype/nans,比本机numpy稍微慢一点)

在0.12中,它是每列应用的,因此这是一个相对昂贵的操作

In [4]: arr = np.random.randn(1000, 1000)

In [5]: df=pd.DataFrame(arr)

In [6]: %timeit np.clip(arr, 0, None)
100 loops, best of 3: 6.62 ms per loop

In [7]: %timeit df.clip_lower(0)
100 loops, best of 3: 12.9 ms per loop

没关系,因为pandas在ClippingGi的基础上进行了大量的数据检查、转换和其他工作,所以当@alko枚举时,发现所有的pandas开销时,pandas也措手不及。索引是另一个将大熊猫与裸体区分开来的现实。看看这篇演讲,了解一些关于头顶上熊猫的评论和影响,以及一系列丰富的比较,并非所有的numpy和pandas。然而,引入
.values
的示例进行了直接比较。