怎样解决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
这样可以快速操作一列数据,不必循环操作每行每列数据,对于大数据处理是非常有用的
转载于:https://www.cnblogs.com/gaoss/p/7657044.html
怎样解决python dataframe loc,iloc循环处理速度很慢的问题1.问题说明最近用DataFrame做大数据 处理,发现处理速度特别慢,追究原因,发现是循环处理时,loc,iloc速度都特别慢,当数据量特别大得时候真的是超级慢。查很多资料,发现没有详细说明,以下为解决办法2.问题解决使用 Pandas.Series.apply 方法,可以对一列数据快速进行处理Series...
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
浅谈Pandas
dataframe
数据处理方法的
速度
比较前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了
解决
数.
今天在用pandas时,发现切片
loc
好慢!
事情是这样的…
需求:我有一个excel表,70多万行。我需要根据early_age、late_age两个字段的大小(419<=late_age<=early_age<=458)为条件,提取所有的数据,然后存入另一个excel,生成一个小的数据集。
刚开始写的代码如下:
data = pd.read_excel(r'D:\xxx.xlsx') # 764544行
end_data = pd.
DataFrame
(columns=data.col
目录为什么写这个我的目标测试结论
为什么写这个
我学习
python
有一段时间了,但没做过什么大的项目,目前在写毕业论文,正在清洗数据。因为之前一直都是能用excel绝不用
python
,所用在对
dataframe
进行修改的时候,还是倾向一个一个的改。
数据库的文件不算特别大,在我筛选过后数据大概有20万个,之前运行的代码都挺快的,在改这个数据的时候出现了
问题
,运行
速度
太慢了,我跑了一个多小时都没...
pandas为我们提供了多种切片方法,而要是不太了解这些方法,就会经常容易混淆。下面举例对这些切片方法进行说明。数据介绍先随机生成一组数据:In [5]: rnd_1 = [random.randrange(1,20) for x in xrange(1000)]
...: rnd_2 = [random.randrange(1,20) for x in xrange(1000)]
两者区别如下:
1、KafkaUtils.createDstream
构造函数为KafkaUtils.createDstream(ssc, [zk], [consumer group id], [per-topic,partitions] )
使用了receivers来接收数据,利用的是...
import numpy as np
from sklearn.datasets import load_boston
import matplotlib.pyplot as plt
dataset = load_boston(...
loc
方法使用标签来选择数据,
iloc
方法使用整数位置来选择数据。
例如,df.
loc
[2,'column']表示选择第2行和'column'列的数据,而df.
iloc
[2,3]表示选择第3行和第4列的数据。
这两个方法都可以使用切片来选择多行或多列的数据。例如,df.
loc
[2:5,'column1':'column3']表示选择第2到第5行和'column1'到'column3'列的数据。