gpt4 book ai didi

python - Pandas 比 numpy 慢得多?

转载 作者:太空狗 更新时间:2023-10-29 21:31:53 25 4
gpt4 key购买 nike

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

pandas 的功能不应该用这种迂回的方式实现吗?

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

关于python - Pandas 比 numpy 慢得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19834075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com