程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Vaex:秒开大数据、比pandas更快更好的Python库

hfteth 2024-12-19 09:17:46 技术文章 10 ℃

1 说明:

=====

1.1 Vaex:一种具有超级字符串功能的DataFrame Python库。

1.2 一种更快、更安全、更方便的方法,可以使用几乎任意大小的数据进行数据研究分析,适合大数据,比如秒开100G。

1.3 与Pandas(Python生态系统中最受欢迎的DataFrame库)相比,四核笔记本电脑上的字符串操作速度提高了约30-100倍,而32核设备上的字符串操作速度提高了1000倍。

1.4 Vaex使用ApacheArrow数据结构和C++,几乎所有Pandas的字符串操作都受支持,并且内存使用率几乎为零,因为延迟计算是以块的形式完成的。

2 准备:

=====

2.1 官网:

https://github.com/vaexio/vaex    #每天都在更新和维护
http://vaex.io/
https://pypi.org/project/vaex/
https://vaex.readthedocs.io/en/latest/

2.2 环境:

华为笔记本电脑、深度deepin-linux操作系统、谷歌浏览器、python3.8和微软vscode编辑器。

2.3 安装:

pip install vaex
#本机安装,国内源
sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple vaex

3 打开数据文件方式:

===============

3.1 代码样式:

import vaex
#自带数据集
df = vaex.example()  #注意自带数据集,需要安装hdf5
#打开本地:不同文件格式的方法很简单
df1 = vaex.open("somedata.hdf5")
df2 = vaex.open("somedata.fits")
df2 = vaex.open("somedata.arrow")
df4 = vaex.open("somedata.csv")

3.2 hdf5安装:本机deepin-linux操作系统

===============================

3.2.1 官网:

https://support.hdfgroup.org/HDF5/

3.2.2 下载:

https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.0/src/   #下载源码安装

hdf5 - 1.12.0.tar.gz #下载速度很慢,这是一个坑,可以跳过,不用自带的数据集vaex.example

建议采用终端的:

#-c:断点续传,如果下载中断,那么连接恢复时会从上次断点开始下载。
wget -c https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.0/src/hdf5-1.12.0.tar.gz

3.2.3 安装:注意本机是deepin-linux操作系统:

sudo mv /home/xgj/hdf5-1.12.0.tar.gz /opt
cd /opt
#xgj@xgj-PC:/opt$ 
sudo tar -xvf hdf5-1.12.0.tar.gz
cd  hdf5-1.12.0/
#xgj@xgj-PC:/opt$ cd  hdf5-1.12.0/
#xgj@xgj-PC:/opt/hdf5-1.12.0$ 
#依次执行
sudo ./configure --prefix=/usr/local/hdf5
sudo make
sudo make check    #这一步有点慢
sudo make install
#转换文件夹
cd /usr/local/hdf5/share/hdf5_examples/c
sudo ./run-c-ex.sh
sudo h5cc -o h5_extend h5_extend.c
sudo ./h5_extend

4 读取hdf5数据:

===========

4.1 代码:

#%%
import numpy as np
import vaex as vx
import pylab as plt

#%%
df = vx.open("/home/xgj/Desktop/vaex/io/sample_names_2.hdf5")
df

4.2 图:

5 读取csv数据:

===========

5.1 代码:

#%%
import numpy as np
import vaex as vx
import pylab as plt

#%%
df = vx.open("/home/xgj/Desktop/vaex/gdp_per_capita.csv")
df

5.2 图:

===数据可视化部分基本与pandas类似===

===自己整理并分享出来===

喜欢的人,请点赞、关注、评论、转发和收藏。

最近发表
标签列表