python dataframe 选取字段 特别慢_怎样解决python dataframe loc,iloc循环处理速度很慢的问题...

怎样解决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循环处理速度很慢的问题

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

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

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

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

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

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

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

转:解决Python中文编码问题

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

Python Dataframe 分组排序和 Modin

Python Dataframe 分组排序和 Modin 1.按照其中一列进行排序 在dataframe中,按照其中的一列排序:比如q值倒排 (1)rank方法 data['new_rank'] = ...

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

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

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

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

Python 如何跳出多重循环

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

随机推荐

angularjs 笔记(1) -- 引导

首先: 1,引入angularJS文件,

ThikPHP3.1 常用方法(one)

公司常用但没学过的一些函数,记录一下备份. 1,在Rest操作方法中,可以使用$this->_type获取当前访问的资源类型,用$this->_method获取当前的请求类型. 2.uns ...

js原生的url操作函数,及使用方法。(附:下边还有jquery对url里的中文解码函数)

js原生的url操作函数,完善的. /*****************************/ /* 动态修改url */ /*****************************/ var ...

hdu 5358 First One

题目链接:hdu 5358 思路不难理解,就是个尺取法而已,floor(log2X) + 1 就是求 X 的二进制表示的位数,对于题目来说这个值最多只是 30+,从这里入手开始枚举,运用尺取法可以达到 ...

MEF学习笔记

之前公司里用到了一个叫MEF的东西,说来惭愧一直只管写代码却不曾理解MEF框架为何物,今天就来学习一下,这是一篇迟到了不知多久的博客. -------------------------------- ...

nginx的配置与安装

说说在Linux系统下安装配置Nginx的详细过程. 1. 从Nginx官网下载Nginx.目前最新的稳定版为:1.6.2. 2. 将下载下来的Nginx上传到/opt/nginx目录下.运行“tar ...

Spring Boot 2.x 编写 RESTful API (二) 校验

用Spring Boot编写RESTful API 学习笔记 约束规则对子类依旧有效 groups 参数 每个约束用注解都有一个 groups 参数 可接收多个 class 类型 (必须是接口) 不声 ...

css一些基础效果

1.旋转 .center>.bj>.div1>ul>li>.img1:hover {transform: rotate(-360deg);transition: 1s}/ ...

Spark中master与worker的进程RPC通信实现

1.构建master的actor package SparkRPC import akka.actor.{Actor, ActorSystem, Props}import com.typesafe.c ...

微信小程序调用微信登陆获取openid及用户信息 java做为服务端

转载的文章,很不错 https://blog.csdn.net/weilai_zhilu/article/details/77932630

你可能感兴趣的:(python,dataframe,选取字段,特别慢)