打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Python 代码优化,让你的Pandas速度飞起来

让我们来做这样一个处理,如果某一列的值小于.5就把值统一替换为0,否则就替换为100.

原创不易,喜欢就转发和给个赞吧

首先创建一个dataframe:

import pandas as pdimport numpy as npimport timedf = pd.DataFrame(np.random.rand(100000, 4), columns=['A', 'B', 'C', 'D'])print(df)

数据输出如下:

第一种方法:iterrows()

总共耗时8.12秒,iterrows()遍历确实比较慢,让人等得着急啊!

第二种方法:iloc

总共耗时2.76秒,是iterrows的2.9倍,速度提高了很多。

第三种方法:apply函数

总共耗时52.2毫秒,是iterrows的155倍。

第四种方法:numpy的where, 使用前先导入numpy.

总共耗时778微秒,处理速度是iterrows的10437倍,快到让人不敢相信。

本人觉得这个速度已经达到极致了,那还有没有更快的方法呢?那我们在用numpy的where(.values)来看看,结果简直不可思议只用了426微妙,速度快的离奇,处理速度是iterrows的一万九千都倍。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Python遍历pandas数据方法总结
Pandas 初学者优化指南
Pandas 初学者代码优化指南
如何正确使用Pandas库提升项目的运行速度?
python中使用矢量化替换循环
这招可以让Pandas 数据帧处理速度提高400倍!
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服