Pandas:在dropna之后就地重命名的性能下降

Pandas:在dropna之后就地重命名的性能下降,第1张

Pandas:在dropna之后就地重命名的性能下降

这是github上解释的副本

没有保证 ,一个

inplace
*** 作实际上要快。通常,它们实际上是与副本相同的 *** 作,但是会重新分配顶级引用。

在这种情况下,性能差异的原因如下。

(df1-df2).dropna()
调用将创建数据帧的一部分。当您应用新 *** 作时,这会触发
SettingWithCopy
检查,因为它 可能
是副本(但通常不是)。

此检查必须执行垃圾回收以清除一些缓存引用,以查看它是否是副本。不幸的是,python语法使这种情况不可避免。

您只需要先制作一个副本就不会发生这种情况。

df = (df1-df2).dropna().copy()

接下来的

inplace
*** 作将和以前一样出色。

我个人的看法:我 从不 使用就地 *** 作。语法较难阅读,没有任何优势。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5655172.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存