还在抱怨Pandas运行速度慢?这几个方法会颠覆你的看法
副问题[/!--empirenews.page--]
媒介 当各人谈到数据说明时,说起最多的说话就是Python和SQL。Python之以是得当数据说明,是由于它有许多第三方强盛的库来帮忙,pandas就是个中之一。pandas的文档中是这样描写的:
我们知道pandas的两个首要数据布局:dataframe和series,我们对数据的一些操纵都是基于这两个数据布局的。但在现实的行使中,我们也许许多时辰会感受运行一些数据布局的操纵会非常的慢。一个操纵慢几秒也许看不出来什么,可是一整个项目中许多个操纵加起来会让整个开拓事变服从变得很低。有的伴侣诉苦pandas的确太慢了,着实对付pandas的一些操纵也是有必然能力的。 pandas是基于numpy库的数组布局上构建的,而且它的许多操纵都是(通过numpy可能pandas自身由Cpython实现并编译成C的扩展模块)在C说话中实现的。因此,假如正确行使pandas的话,它的运行速率应该长短常快的。 本篇将要先容几种pandas中常用到的要领,对付这些要领行使存在哪些必要留意的题目,以及怎样对它们举办速率晋升。
行使Datetime数据节减时刻 我们来看一个例子。
从运行上面代码获得的功效来看,仿佛没有什么题目。但现实上pandas和numpy都有一个 dtypes 的观念。假如没有非凡声明,那么date_time将会行使一个 object的dtype范例,如下面代码所示:
object 范例像一个大的容器,不只仅可以承载 str,也可以包括那些不能很好地融进一个数据范例的任何特性列。而假如我们将日期作为 str 范例就会极大的影响服从。 因此,对付时刻序列的数据而言,我们必要让上面的date_time列名目化为datetime工具数组(pandas称之为时刻戳)。pandas在这里操纵很是简朴,操纵如下:
我们来运行一下这个df看看转化后的结果是什么样的。
date_time的名目已经自动转化了,但这还没完,在这个基本上,我们照旧可以继承进步运行速率的。怎样提速呢?为了更好的比拟,我们起首通过 timeit 装饰器来测试一下上面代码的转化时刻。
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |