数据处理必看:如何让你的Pandas循环加快71803倍
我们可以将 apply 与 Lambda 函数一起使用。我们要做的就是指定轴。在这种情况下,我们必须使用 axis=1,因为我们要执行一个列操作: 此代码甚至比以前的方法更快,只需要 27 毫秒就能完成。 pandas 矢量化——快 9280 倍现在我们可以讨论一个新话题了。我们利用矢量化的优点来创建真正快速的代码。重点是避免像前面的例子 [1] 中那样的 Python 级循环,并使用优化的 C 代码,这个代码使用内存的效率更高。我们只需要稍微修改函数:
现在我们可以用 pandas series 作为输入创建新列: 在这种情况下,我们甚至不需要循环。我们要做的就是调整函数的内容。现在我们可以直接将 pandas series 传递给我们的函数,这会导致巨大的速度增益。 Numpy 矢量化——速度快 71.803 倍在前面的示例中,我们将 pandas series 传递给了函数。通过添加.values,我们收到一个 Numpy 数组: Numpy 数组非常快,我们的代码运行时间为 0305 毫秒,比开始使用的标准循环快 71803 倍。 结论如果您使用 python、pandas 和 Numpy 进行数据分析,那么代码总会有一些改进空间。我们比较了五种不同的方法,在计算的基础上增加了一个新的列到我们的数据框架中。我们注意到在速度方面存在巨大差异: 如果你从这篇文章中选择两条规则,我会很高兴:
本文转自雷锋网,如需转载请至雷锋网官网申请授权。
(编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |