modin.pandas 说是可以提升pandas的运行效率(pandas替代方案)

最近偶尔看到modin.pandas 能提升效率,最近事情不多就开始验证一下。
1.首先需要的软件包:
    Python-3.7.6.tgz
    gcc-9.1.0.tar.gz
    glibc-2.17.tar.gz
    其他的比如pandas==0.25.3 , libffi-dev,xz-devel 等等。
2.安装python 
    首先最开始安装的是python3.8 由于后期安装 modin[ray] Ray 这个库的时候他最新支持python 3.7,
    modin.pandas最新支持pandas=0.25.3 最新的pandas版本已经到1.0以上了。所以还是以3.7.6 来验证。
    python安装: 
        tar -zxvf   Python-3.7.6.tgz
        ./configure --prefix=/usr/local/python37 LDFLAGS='-L/opt/local/lib -R/opt/local/lib'
        为什么要加 LDFLAGS='-L/opt/local/lib -R/opt/local/lib'  
        由于存在多版本的时候,会报出  No module named '_ctypes'需要重新编译, 
        yum install libffi-dev  这个安装了有时侯还是汇报,这边是重新编译安装python 成功。
        make &&make install

3.安装 modin.pandas:
    pip3 install   pandas==0.25.3  
    pip3 install  modin
    pip3 install modin[ray] # Install Modin dependencies and Ray to run on Ray 
    pip3 install modin[dask] # Install Modin dependencies and Dask to run on Dask
    问题 安装完成之后验证:
    在python下执行  import ray 的时候报错。
    /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.5'    
    strings /usr/lib64/libstdc++.so.6|grep CXXABI  发现 支持到1.1.2  gcc  版本也比较老。
    3.1 升级gcc :
        一、下载gcc最新的源码包–>wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0.tar.gz
        二、解压缩–>tar -xzvf gcc-9.1.0.tar.gz
        三、进入解压缩后目录–>cd gcc-9.1.0
        四、运行download_prerequisites脚本, ./contrib/download_prerequisites ,这个脚本会自动帮你下
        载所需要的依赖文件和库
        五、建立输出目录,将所有的中间文件都放到该目录
        1)建立目录–>mkdir gcc-build-9.1.0
        2)  进入目录–>cd gcc-build-9.1.0
        六、执行–>…/configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
        –enable-languages表示你要让你的gcc支持那些语言,–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。–disable-checking生成的编译器在编译过程中不做额外检查,也可以使用*–enable-checking=xxx*来增加一些检查
        七、编译:make;注意此步和上一步,比较耗时,本机编译正真一下午。等的心都累了。
        八、安装:make  install     (此操作需要root用户)
        九、验证:gcc -v;或者g++ -v,如果显示的gcc版本仍是以前的版本,就需要重启系统;或者可以查看gcc的安装位置:which gcc;然后在查看版本 /usr/local/bin/gcc -v,通常gcc都安装在该处位置。
    3.2 升级 libc
        /lib64/libc.so.6: version `GLIBC_2.14' not found
        wget http://ftp.gnu.org/gnu/glibc/glibc-2.17.tar.gz 
        tar -xvf  glibc-2.17.tar.gz 
        mkdir glibc-2.17-build
        /configure  --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin 
         make    make install
    3.3  安装 lzma 
        import pandas 的时候报错:
        No module named '_lzma'  
        先安装 yum install xz-devel   有的说还要安装 yum install python-backports-lzma  但是我这边这个不需要安装。
        然后 pip3 install backports.lzma
        发现还是这样然后需要修改 /usr/local/lib/python37/lzma.py  下面 27行的

 

try:
    from _lzma import *
    from _lzma import _encode_filter_properties, _decode_filter_properties
except ImportError:
    from backports.lzma import *
    from backports.lzma import _encode_filter_properties, _decode_filter_properties





再次导入pandas  成功。

到目前为只安装成功。

 

然后验证  1个2.5G的文件   

确实快了好多。

下载文件库比较慢的时间可以切换下载源

常用的有镜像有

清华大学镜像
https://pypi.tuna.tsinghua.edu.cn/simple/
阿里云
http://mirrors.aliyun.com/pypi/simple/
中科大镜像
https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣镜像
http://pypi.douban.com/simple/
中科大镜像2
http://pypi.mirrors.ustc.edu.cn/simple/

 

参考:https://www.jianshu.com/p/198620bbc5a0

          https://blog.csdn.net/weixin_42090356/article/details/90678158

         https://github.com/modin-project/modin   

 

你可能感兴趣的:(python)