代码之家  ›  专栏  ›  技术社区  ›  redwolf_cr7

sklearn:pandas数据帧与numpy-ndarray的比较——它更有效地保存不同数据类型的[600k*1k]数据[关闭]

  •  0
  • redwolf_cr7  · 技术社区  · 8 年前

    我正在尝试使用sklearn构建分类器。我的基础数据集的形状是[600000,1000]。在使用sklearn分类器时,哪个更有效?在数据帧或数据数组中保存此数据集?

    2 回复  |  直到 8 年前
        1
  •  1
  •   Inder Manali    8 年前

    对于您提供的信息量,ndarray将更加高效,原因很明显,因为熊猫的设计目的多种多样,性能不是其灵活性和用户友好性的最重要考虑因素,您可以查看下面的示例: more details

        2
  •  1
  •   seralouk    8 年前

    对于索引和操作,numpy将更快。


    import pandas as pd
    import numpy as np
    
    a = np.random.rand(600000,1000)
    s = pd.DataFrame(a)
    
    idx = range(1,100)
    
    %timeit a[idx]
    %timeit s.loc[idx]
    

    10000圈,最好是3圈:62.9秒/圈

    1000圈,每圈最好3:582秒


    底线: numpy 更快