怎样解决python dataframe loc,iloc循环处理速度很慢的问题

1.问题说明

最近用DataFrame做大数据 处理,发现处理速度特别慢,追究原因,发现是循环处理时,loc,iloc速度都特别慢,当数据量特别大得时候真的是超级慢。查很多资料,发现没有详细说明,以下为解决办法

2.问题解决

使用 Pandas.Series.apply 方法,可以对一列数据快速进行处理

Series.apply(*func*, *convert_dtype=True*, *args=()*, **\*kwds*)

函数说明:

To lunch typora from Terminal, you could add

func : function
convert_dtype : boolean, default True
Try to find better dtype for elementwise function results. If False, leave as dtype=object
args : tuple
Positional arguments to pass to function in addition to the value
Additional keyword arguments will be passed as keywords to the function

例子讲解

# 首先导入数据
>>> import pandas as pd
>>> import numpy as np
>>> series = pd.Series([20, 21, 12], index=['London','New York','Helsinki'])
>>> series
London 20
New York 21
Helsinki 12
dtype: int64 # 应用1,把每个值都*2
>>> def square(x):
... return x**2
>>> series.apply(square)
London 400
New York 441
Helsinki 144
dtype: int64
>>> series.apply(lambda x: x**2)
London 400
New York 441
Helsinki 144
dtype: int64 # 应用2,相减
>>> def subtract_custom_value(x, custom_value):
... return x-custom_value
>>> series.apply(subtract_custom_value, args=(5,))
London 15
New York 16
Helsinki 7
dtype: int64 # 使用numpy library中得函数
>>> series.apply(np.log)
London 2.995732
New York 3.044522
Helsinki 2.484907
dtype: float64

3.总结

这样可以快速操作一列数据,不必循环操作每行每列数据,对于大数据处理是非常有用的

(原)怎样解决python dataframe loc,iloc循环处理速度很慢的问题的更多相关文章

  1. 怎样解决python dataframe loc,iloc循环处理速度很慢的问题

    怎样解决python dataframe loc,iloc循环处理速度很慢的问题 1.问题说明 最近用DataFrame做大数据 处理,发现处理速度特别慢,追究原因,发现是循环处理时,loc,iloc ...

  2. Python: 对于DataFrame.loc传入列表和传入元组输出区别的理解

    def test(): import pandas as pd tuples = [ ('cobra', 'mark i'), ('cobra', 'mark ii'), ('sidewinder', ...

  3. 关于解决python线上问题的几种有效技术

    工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争 ...

  4. Python流程控制-while循环-for循环

    写重复代码 是可耻的行为 -------------- 完美的分割线  -------------- 摘录自:http://www.runoob.com/python/python-loops.htm ...

  5. 转:解决Python中文编码问题

    Python 文本挖掘:解决Python中文编码问题 转于:http://rzcoding.blog.163.com/blog/static/2222810172013101785738166/   ...

  6. Pandas:loc iloc ix用法

    参考:Pandas中关于 loc \ iloc \ ix 用法的理解 相同点 使用形式都是 df.xxx[ para1 , para2 ] #xxx表示loc iloc ix#df表示一个DataFr ...

  7. paip.日志中文编码原理问题本质解决python

    paip.日志中文编码原理问题本质解决python 默认的python日志编码仅仅gbk...保存utf8字符错误..输出到个eric5的控制台十默认好像十unicode的,要是有没显示出来的字符,大 ...

  8. Python之 continue继续循环和多重循环

    Python之 continue继续循环 在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环. 假设我们已经写好了利用for循环计算平均分的代码: L ...

  9. Python 如何跳出多重循环

    Python 如何跳出多重循环 抛异常 return

随机推荐

  1. eclipse创建的maven项目无法部署到tomcat

    今天在eclipse中创建了个maven项目,想运行起来看看,发现代码开发完成后无法发布到tomcat. 解决办法如下: 第一种: 选中项目-右键属性-Project Facets 勾选上面三项并选择 ...

  2. http长连接与短连接

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp23 http长连接与短连接 一.长连接与短连接: 长连接:client方与 ...

  3. 第1阶段——uboot分析之启动函数bootm命令 (9)

    本节主要学习: 详细分析UBOOT中"bootcmd=nand read.jffs2 0x30007FC0 kernel;bootm 0x30007FC0"中怎么实现bootm命令 ...

  4. 使用XmlWriter创建XML文件

    using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Xml ...

  5. ★10 个实用技巧,让Finder带你飞~

    10 个实用技巧,让 Finder 带你飞 Finder 是 Mac 电脑的系统程序,有的功能类似 Windows 的资源管理器.它是我们打开 Mac 首先见到的「笑脸」,有了它,我们可以组织和使用 ...

  6. 怎么修改mysql中user表的密码????

  7. YYHS-怎样更有力气

    题目描述 OI大师抖儿在夺得银牌之后,顺利保送pku.这一天,抖儿问长者:"我虽然已经保送了,但我的志向是为国家健康工作五十年.请问我应该怎样变得更有力气?"  长者回答:&quo ...

  8. CentOS6.5下安装mfs分布式存储(转)

    MFS文件系统的组成 1.  元数据服务器.在整个体系中负责管理管理文件系统,目前MFS只支持一个元数据服务器master,这是一个单点故障,需要一个性能稳定的服务器来充当.希望今后MFS能支持多个m ...

  9. 团队作业1——团队展示&选题

    Deadline: 2017-4-5 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目包括后文的四个方面 团队博客 团队选题 团队计划 团队成员贡献分分配规则 晚交 - 0 ...

  10. 微信小程序icon,text,progress标签的测试

    一:testIconAndTextAndProgress.wxml的代码如下.testIconAndTextAndProgress.js自动生成示例代码 //testIconAndTextAndPro ...