簡體   English   中英

熊貓比numpy慢得多?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM