美文网首页python收藏
使用Modin获得更快的Pandas,即使在笔记本电脑上也是如此

使用Modin获得更快的Pandas,即使在笔记本电脑上也是如此

作者: 深度学习实验室 | 来源:发表于2019-04-23 02:42 被阅读0次

    Pandas提供高性能,易于使用的数据结构和数据分析工具。但是,在处理过多的数据时,单个核心上的Pandas变得不足,人们不得不求助于不同的分布式系统来提高性能。然而,提高性能的权衡伴随着陡峭的学习曲线。从本质上讲,用户可能只是希望Pandas运行得更快,并且不希望针对其特定的硬件设置优化其工作流程。这意味着人们希望将10KB数据集用作10TB数据集的相同Pandas脚本。Modin通过优化大熊猫提供解决方案,以便数据科学家花时间从数据中提取价值,而不是从提取数据的工具中提取价值。

    Modin 在8核计算机上将Pandas查询加速4倍,只需要用户更改笔记本中的单行代码。安装

    Modin是完全开源的,可以在GitHub上找到:https//github.com/modin-project/modin

    Modin可以从PyPI安装:

    pip install modin

    modin所做的基本上是它只是增加了CPU所有内核的利用率,从而提供了更好的性能。

    只需要修改import语句,其中一个需要导入modin.pandas 而不是简单pandas.

    import numpy as np

    import modin.pandas as pd

    让我们使用由随机整数组成的Numpy构建一个玩具数据集。请注意,我们不必在此处指定分区。

    ata = np.random.randint(0,100,size =(2 **

    16,2 ** 4))df = pd.DataFrame(data)

    df = df.add_prefix(“Col:”)

    速度比较

    pd.read_csv

    read_csv是迄今为止最常用的pandas操作。当我们在pandas vs modin中使用read_csv时,让我们快速比较一下。

    大熊猫

    %%time
    import pandas

    pandas_csv_data = pandas.read_csv("../800MB.csv")

    -----------------------------------------------------------------

    CPU times: user 26.3 s, sys: 3.14 s, total: 29.4s

    Wall time: 29.5 s

    Modin

    %%time

    modin_csv_data = pd.read_csv("../800MB.csv")

    -----------------------------------------------------------------

    CPU times: user 76.7 ms, sys: 5.08 ms, total: 81.8 ms

    Wall time: 7.6 s

    使用Modin,read_csv只需更改import语句,即可在4核机器上执行快4倍的速度

    df.groupby

    pandas groupby编写得非常好,速度非常快。但即便如此,modin仍然胜过大熊猫。

    pandas

    %%time

    import pandas

    _ = pandas_csv_data.groupby(by=pandas_csv_data.col_1).sum()

    -----------------------------------------------------------------

    CPU times: user 5.98 s, sys: 1.77 s, total: 7.75 s

    Wall time: 7.74 s

    modin

    %%time

    results = modin_csv_data.groupby(by=modin_csv_data.col_1).sum()

    -----------------------------------------------------------------

    CPU times: user 3.18 s, sys: 42.2 ms, total: 3.23 s

    Wall time: 7.3 s

    相关文章

      网友评论

        本文标题:使用Modin获得更快的Pandas,即使在笔记本电脑上也是如此

        本文链接:https://www.haomeiwen.com/subject/jhtmgqtx.html