Python中遍历pandas数据的几种方法介绍及效率对比

点击原文

Pandas是python的一个数据分析包,提供了大量的快速便捷处理数据的函数和方法。

对pandas数据遍历的几种方法:

1.for…in循环迭代方式

2.iterrows()生成器方式

3.apply()方法循环方式

4.Pandas series 的矢量化方式

5.Numpy arrays的矢量化方式


总结
使用timeit方法对以上几种遍历方式进行执行时间测试,测试结果如下。可以看出循环执行的速度是最慢的,iterrows()针对Pandas的dataframe进行了优化,相比直接循环有显著提升。apply()方法也是在行之间进行循环,但由于利用了类似Cython的迭代器的一系列全局优化,其效率要比iterrows高很多。NumPy arrays的矢量化运行速度最快,其次是Pandas series矢量化。由于矢量化是同时作用于整个序列的,可以节省更多的时间,相比使用标量操作更好,NumPy使用预编译的C代码在底层进行优化,同时也避免了Pandas series操作过程中的很多开销,例如索引、数据类型等等,因此,NumPy arrays的操作要比Pandas series快得多。


你可能感兴趣的:(Spider)