0
点赞
收藏
分享

微信扫一扫

《Python开发 - Python库》pyarrow安装与使用(矩阵运算库)


1 pyarrow简介

pyarrow是用于Apache Arrow的Python库。这个库为Arrow c++库提供的功能提供了Python API,以及用于与panda、NumPy和Python生态系统中的其他软件进行箭头集成和互操作性的工具。Apache Arrow是一个用于内存分析的开发平台。它包含一组技术,使大数据系统能够快速处理和移动数据。

Arrow特点

Format: Apache Arrow为平面和层次数据定义了一种与语言无关的柱状内存格式,这种格式的组织用于在现代硬件(如cpu和gpu)上进行高效的分析操作。Arrow内存格式还支持零拷贝读取,用于不需要序列化开销的闪电般的数据访问。

Libraries: Arrow的库实现了这种格式,并为一系列用例提供了构建块,包括高性能分析。许多流行的项目使用箭头有效地发送柱状数据,或者作为分析引擎的基础。库可用于C、c++、c#、Go、Java、JavaScript、MATLAB、Python、R、Ruby和Rust。请参阅如何安装和启动。

Ecosystem:Apache Arrow是由开发人员社区创建并为其服务的软件。我们致力于开放、友好的沟通和协商一致的决策。我们的提交者来自不同的组织和背景,我们欢迎所有人与我们一起参与。

2 pyarrow安装

Pyarrow安装很简单,如果有网络的话,使用以下命令就行:

#pip install pyarrow

Pyarrow比较大,可能使用官方的源导致安装失败,我有两种解决办法:

方法一:更换数据源

可以使用国内的源,比如清华的源,安装命令如下:

#pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple pyarrow

方法二:离线安装

先到官网或者镜像源下载安装包

​​pyarrow下载地址​​

《Python开发 - Python库》pyarrow安装与使用(矩阵运算库)_python

下载后使用以下命令安装:

#pip install pyarrow-2.0.0-cp38-cp38-win_amd64.whl

3 pyarrow使用

前面讲了pyarrow的简介和安装,接下来我们试试pyarrow到底有没有优势,我们知道,在做数据处理的时候,IO操作将占用大量的时间,提高IO操作效率,也就提升了整体效率,我们就拿大家熟悉的pandas来比较。

代码如下:

import time

from pyarrow import csv

def load_by_arrow(filePath):
# API :https://arrow.apache.org/docs/python/generated/pyarrow.csv.read_csv.html
table = csv.read_csv(filePath)

return table.to_pandas()

import pandas as pd
def load_by_pandas(filePath):
df = pd.read_csv(filePath)

return df


if __name__ == "__main__":
filePath = 'workdf.csv'

start = time.time()
pa_df = load_by_arrow(filePath)
end = time.time()
print(end-start)

start = time.time()
pd_df = load_by_pandas(filePath)
end = time.time()
print(end-start)

运行结果如下:

《Python开发 - Python库》pyarrow安装与使用(矩阵运算库)_apache_02

我们可以看到,pyarrow的读取时间是pandas的两倍还多,可想而知,如果处理大批量的数据,效果将更加明显。




欢迎访问我的网站:

​​BruceOu的哔哩哔哩​​

​​BruceOu的主页​​

​​BruceOu的博客​​

​​BruceOu的简书​​

接收更多精彩文章及资源推送,请订阅我的微信公众号:

《Python开发 - Python库》pyarrow安装与使用(矩阵运算库)_apache_03



举报

相关推荐

0 条评论