[英]pandas much slower than numpy?
下面的代碼表明,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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.