pandas python 加速_python数据存储系列教程—python(pandas) - CSDN
精华内容
参与话题
  • python pandas加速

    2019-11-16 20:47:00
    目前我在网上找到的pandas加速包有两个:modin和swifter modin 宣称"通过更改一行代码来加速你的pandas工作流",官方文档https://github.com/modin-project/modin swifter 对apply函数加速,官方文档...

    目前我在网上找到的pandas加速包有两个:modin和swifter

    modin 宣称"通过更改一行代码来加速你的pandas工作流",官方文档https://github.com/modin-project/modin

    swifter 对apply函数加速,官方文档https://github.com/jmcarpenter2/swifter

    展开全文
  • pandas 运算加速方案

    2019-04-09 14:06:18
    https://blog.csdn.net/sinat_38682860/article/details/85046081
    展开全文
  • pandas apply加速

    2020-06-07 02:48:25
    使用map速度比apply快 def func(S1, S2): #do something return #data['similarity'] =pd.Series() data['similarity'] = list(map(func,data['col1'], data['col2'])) #data['similarity'] = data.apply(lambda...
    使用map速度比apply快
    def func(S1, S2):
        #do something
        return 
    
    #data['similarity'] =pd.Series()
    data['similarity'] = list(map(func,data['col1'], data['col2']))
    #data['similarity'] = data.apply(lambda row: func(row['col1'], row['col2']), axis=1)
    

     

    展开全文
  • 作者|费弗里来源|Python大数据分析本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes1 简...

    作者|费弗里

    来源|Python大数据分析

    本文示例代码已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes

    1 简介

    随着其功能的不断优化与扩充,pandas已然成为数据分析领域最受欢迎的工具之一,但其仍然有着一个不容忽视的短板——难以快速处理大型数据集,这是由于pandas中的工作流往往是建立在单进程的基础上,使得其只能利用单个处理器核心来实现各种计算操作,这就使得pandas在处理百万级、千万级甚至更大数据量时,出现了明显的性能瓶颈。

    本文要介绍的工具modin就是一个致力于在改变代码量最少的前提下,调用起多核计算资源,对pandas的计算过程进行并行化改造的Python库,并且随着其近期的一系列内容更新,modin基于Dask开始对Windows系统同样进行了支持,使得我们只需要改变一行代码,就可以在所有平台上获得部分pandas功能可观的计算效率提升。

    图1

    2 基于modin的pandas运算加速

    modin支持WindowsLinux以及Mac系统,其中LinuxMac平台版本的modin工作时可基于并行运算框架RayDask,而Windows平台版本目前只支持Dask作为计算后端(因为Ray没有Win版本),安装起来十分方便,可以用如下3种命令来安装具有不同后端的modin

    pip install modin[dask] # 安装dask后端
    pip install modin[ray] # 安装ray后端(windows不支持)
    pip install modin[all] # 推荐方式,自动安装当前系统支持的所有后端
    

    本文在Win10系统上演示modin的功能,执行命令:

    pip install modin[all]
    

    成功安装modin+dask之后,在使用modin时,只需要将我们习惯的import pandas as pd变更为import modin.pandas as pd即可,接下来我们来看一下在一些常见功能上,pandasVSmodin性能差异情况。

    首先我们分别使用pandasmodin读入一个大小为1.1G的csv文件esea_master_dmg_demos.part1.csv,来自kaggle(https://www.kaggle.com/skihikingkevin/csgo-matchmaking-damage/data),记录了关于热门游戏CS:GO的一些玩家行为数据,因为体积过大,请感兴趣的读者朋友自行去下载:

    图2

    为了区分他们,在导入时暂时将modin.pandas命名为mpd

    图3

    可以看到因为是Win平台,所以使用的计算后端为Dask,首先我们来分别读入文件查看耗时:

    图4

    借助jupyter notebook记录计算时间的插件,可以看到原生的pandas耗时14.8秒,而modin只用了5.32秒,接着我们再来试试concat操作:

    图5

    可以看到在pandas花了8.78秒才完成任务的情况下,modin仅用了0.174秒,取得了惊人的效率提升。接下来我们再来执行常见的检查每列缺失情况的任务:

    图6

    这时耗时差距虽然不如concat操作时那么巨大,也是比较可观的,但是modin毕竟是一个处于快速开发迭代阶段的工具,其针对pandas的并行化改造尚未覆盖全部的功能,譬如分组聚合功能。

    对于这部分功能,modin会在执行代码时检查自己是否支持,对于尚未支持的功能modin会自动切换到pandas单核后端来执行运算,但由于modin中组织数据的形式与pandas不相同,所以中间需要经历转换:

    图7

    这种时候modin的运算反而会比pandas慢很多:

    图8

    因此我对modin持有的态度是在处理大型数据集时,部分应用场景可以用其替换pandas,即其已经完成可靠并行化改造的pandas功能,你可以在官网对应界面(https://modin.readthedocs.io/en/latest/supported_apis/index.html )查看其已经支持及尚未良好支持的功能,,因为modin还处于快速开发阶段,很多目前无法支持的功能也许未来不久就会被加入modin

    图9

    以上就是本文的全部内容,如有疑问欢迎在评论区与我讨论。

    
    
    一起学Java
    
    
    
    
    一起学Python
    
    ------------------
    
    
    如果觉得文章有点用的话,请毫不留情地素质三连吧,分享、点赞、在看、收藏,我不挑,因为这将是我写作更多优质文章的最强动力。
    往期精选(????猛戳可查看)
    1、Python 实现Excel自动化办公《中》
    2、Python 实现Excel自动化办公《下》
    
    3、整理了我开始分享学习笔记到现在超过250篇优质文章,涵盖数据分析、爬虫、机器学习等方面,别再说不知道该从哪开始,实战哪里找了
    
    展开全文
  • python的numba加速

    万次阅读 2019-09-02 16:37:23
    无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常... 之前笔者写过一个pypy的加速方法,可以参阅笔者之前的文章:http://blog.csdn.net/qtlyx/article/details/7...
  • python 加速运算

    2020-01-07 10:39:39
    测试代码运行的时间 import time tic = time.time() much_job = [x**2 for x in range(1, 1000000, 3)] toc = time.time() print('userd: {:.5f}s'.format(toc-tic)) ...一、加速查找 1. 用set而非list impo...
  • 基于python将较大的文本文件读取为dataframe时(文本文件可能是csv或者xlsx类型)。直接用pandas对整个文件进行读取的话,会比较耗时。 这里提供一个简单的加速方案:分批读取。 实现方案 需要首先将文件转为可以...
  • pandas的Groupby加速

    千次阅读 2019-02-14 22:05:52
    在平时的金融数据处理中,模型构建中,经常会用到pandas的groupby。之前的一篇文章中也讲述过groupby的作用: https://blog.csdn.net/qtlyx/article/details/80515077  但是,大家都知道,python有一个东西叫做...
  • 例如想安装pandas, 1.使用cmd打开dos窗口 2.pip install -i --trusted-host http://pypi.douban.com/simple/pandas如果出现以下问题解决办法有:1.pip install -i ...
  • 二、Pandas 内置函数: iterrows () 三、Pandas的 .apply()方法 四、Pandas向量化 五、Numpy向量化 六、总结 一、标准for循环 采用for循环遍历每一行,iloc来确定该列值,在数据量较大的情况下,iloc本身耗时较...
  • 作者 |Parul Pandey译者 |linstancy责编 | Jane出品 | Python大本营(id:pythonnews)【导读】工具包 datatab...
  • Python pandas,数据合并,join(),merge()

    千次阅读 2019-02-25 15:02:06
    join():根据行的相同索引合并。 merge():根据条件(列的值)合并,类似数据库中的多表查询(内连接,左连接,外连接)   ...import pandas as pd # 创建DataFrame df1 = pd.DataFrame(np.aran...
  • Pandas 是常用的 Python 软件库,可用于数据操作和分析。在进行数据分析时,导入数据(例如pd.read_csv)几乎是必需的,但对于大的CSV,可能会需要占用大...
  • “ 阅读本文大概需要 3 分钟。 ”1 简介随着其功能的不断优化与扩充,pandas已然成为数据分析领域最受欢迎的工具之一,但其仍然有着一个不容忽视的短板——难以快速处理大型数据集,这是...
  • 本文转自公众号:Python与算法之美一,分析代码运行时间第1式,测算代码运行时间平凡方法快捷方法(jupyter环境)第2式,测算代码多次运行平均时间平凡方法快捷方法(...
  • python程序的pypy加速

    千次阅读 2017-09-24 21:19:21
    我们知道,python作为一种几乎是脚本语言的语言,其优点固然有,但是其有一个最大的缺点,就是运行速度没有办法和c,c++,java比。最近在些一些代码的时候也是碰到了这样的问题。具体而言,python想提速度,基本思路...
  • 大数据文摘出品编译:啤酒泡泡、宁静Python是社区里最受喜爱的编程语言!它是目前为止最易使用的语言,因为它的代码短小精悍,符合人们的思维方式,也符合人们的阅读习惯。但是...
  • 英伟达开源GPU加速库RAPIDS RAPIDS是一个支持在GPU上进行端到端数据科学和分析流程的包,在后端CUDA的支持下利用简单的python接口供数据科学家和工程师使用。 Rapids主要致力于通用的数据预处理阶段,包含了...
  • python3 中pandas包 DataFrame的索引方法

    千次阅读 2018-03-05 18:07:26
    整体来说常用的方法包括一下几种:import pandas as pd import numpy as npdf = pd.DataFrame(np.arange(20).reshape(4,5), columns = list('FRANK'), index = list('WANG')) print(df) print(df['F']) ...
  • 点击上方“AI公园”,关注公众号,选择加“星标“或“置顶”作者:George Seif编译:ronghuaiyang导读Pandas是为一次性处理整个行或列的矢量化操作而...
1 2 3 4 5 ... 20
收藏数 4,071
精华内容 1,628
关键字:

pandas python 加速