【Python数据清洗】for循环+条件判断 VS 数据向量化

今天(也就是2020年3月26日)重新看了一下《利用Python进行数据分析》第二版然后下午的时候想工作一会就做了一个数据分析,至于我是怎么从1千多亿条数据里面选择出98w符合条件的数据就不赘述了,
最关键的一点就是我使用了一个for循环+条件判断的代码,然后等了大约10分钟左右吧,因为在运行代码的时候跟朋友聊天,感觉都没什么可聊的时候代码才运行完。使用for循环之后,我想起来了python中的numpy这个包是基于向量来做线性运算,类似于R语言的向量,书上说两者相比速度相差300多倍,网上有人说相差500多倍。我自己也找了一个可以替换的函数运行了一下,速度非常快,运行时间等待时间几乎感觉不到,我觉得没有1秒钟。按下运行就出来结果了。让我这个深受for循环折磨的发现了新的大陆。下面就是我写的代码,有兴趣的可以看一下:

利用向量化进行线性运算

df_2=grouped.copy()
df_2['serch']=np.where((df_2['laon_amt']>-0.01)&(df_2['laon_amt']<=5.5),1,\
                       np.where((df_2['laon_amt']>5.5)&(df_2['laon_amt']<=7.5),2,\
                               np.where((df_2['laon_amt']>7.5)&(df_2['laon_amt']<=8.5),3,\
                                        np.where((df_2['laon_amt']>8.5)&(df_2['laon_amt']<=11.5),4,\
                                                np.where((df_2['laon_amt']>11.5)&(df_2['laon_amt'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值