数据处理赏罚必看:怎样让你的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 举办数据说明,那么代码总会有一些改造空间。我们较量了五种差异的要领,在计较的基本上增进了一个新的列到我们的数据框架中。我们留意到在速率方面存在庞大差别: 假如你从这篇文章中选择两条法则,我会很兴奋:
本文转自雷锋网,如需转载请至雷锋网官网申请授权。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |