首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深度学习

    【python】pyarrow.parquet+pandas:读取及使用parquet文件

    所需的库 import pyarrow.parquet as pq import pandas as pd pyarrow.parquet模块,可以读取和写入Parquet文件,以及进行一系列与Parquet 终端指令 conda create -n DL python==3.11 conda activate DL conda install pyarrow 或 pip install pyarrow 二、 pyarrow.parquet   当使用pyarrow.parquet模块时,通常的操作包括读取和写入Parquet文件,以及对Parquet文件中的数据进行操作和转换。 写入Parquet文件 import pandas as pd import pyarrow as pa import pyarrow.parquet as pq df = pd.DataFrame( 简单读取 import pyarrow.parquet as pq import pandas as pd parquet_file = pq.ParquetFile('.

    2.8K10编辑于 2024-07-30
  • 来自专栏猫头虎博客专区

    如何解决 pip install 安装报错 ModuleNotFoundError: No module named pyarrow 问题

    确认模块包是否安装首先,检查一下你是否已经成功安装了pyarrow模块。 你可以通过以下命令在控制台中检查模块是否存在:pip show pyarrow如果没有安装,执行以下命令进行安装:pip install pyarrow如果控制台提示安装成功,但仍然出现错误,可能是因为 请确保在Python代码中正确导入:import pyarrow4. 执行以下命令可以安装指定版本的pyarrow:pip install pyarrow==<version_number>例如,安装pyarrow 3.0.0版本:pip install pyarrow= 自定义的包名与已安装的包名相同如果你的项目中存在与pyarrow相同名称的自定义模块,可能会发生冲突,导致无法导入正确的pyarrow模块。

    78421编辑于 2025-09-18
  • 来自专栏数据派THU

    独家 | Pandas 2.0 数据科学家的游戏改变者(附链接)

    以下是使用Hacker News数据集(大约650 MB)读取没有pyarrow后端的数据与使用pyarrow后端读取数据之间的比较(许可证CC BY-NC-SA 4.0): %timeit df = (): 使用pyarrow后台快了35倍多。 其他值得指出的方面: 如果没有 pyarrow 后端,每个列/特征都存储为自己的唯一数据类型:数字特征存储为 int64 或 float64,而字符串值存储为对象; 使用 pyarrow,所有功能都使用 # 3 Author string[pyarrow] # 4 Created At timestamp[s][pyarrow] # 5 of Comments double[pyarrow] # dtypes: double[pyarrow](1), int64[pyarrow](2), string[pyarrow](4)

    1.2K30编辑于 2023-08-08
  • 来自专栏数据派THU

    Pandas 2.0 简单介绍和速度评测

    Pandas 2.0,不仅支持NumPy作为后端,还支持PyArrow。 比如想使用PyArrow读取CSV,则必须使用下面的代码。 import pandas as pd pd.options.mode.dtype_backend = 'pyarrow' pd.read_csv("file_name.csv", engine='pyarrow df_with_pyarrow = pd.read_csv("randomDF.csv", sep=";", engine='pyarrow', use_nullable_dtypes=True)  pd.Series([5, 6, 7, None], dtype='int64[pyarrow]') 0 5 1 6 2 7 3 <NA> dtype: int64[pyarrow]

    2.6K20编辑于 2023-04-03
  • 来自专栏信数据得永生

    Pandas 2.2 中文官方教程和指南(十一·一)

    [58]: a int64[pyarrow] b double[pyarrow] c bool[pyarrow] d string[pyarrow] e int64 [pyarrow] f double[pyarrow] g bool[pyarrow] h string[pyarrow] i null[pyarrow] dtype: 通过指定参数dtype_backend="pyarrow",这些读取器可以返回 PyArrow 支持的数据。读取器不需要设置engine="pyarrow"来必然返回 PyArrow 支持的数据。 [58]: a int64[pyarrow] b double[pyarrow] c bool[pyarrow] d string[pyarrow] e int64 [pyarrow] f double[pyarrow] g bool[pyarrow] h string[pyarrow] i null[pyarrow] dtype:

    1.4K10编辑于 2024-04-25
  • 来自专栏数据派THU

    Pandas 2.0 来了!

    更快和更有效的内存操作 本次最大的亮点可谓是他们在后台增加了对pyarrow的支持,甚至被定义为一场革命(revolution)。 这意味着当你在pandas 2.0中读或写Parquet文件时,它将默认使用pyarrow来处理数据,从而使操作更快、更节省内存。 什么是Pyarrow? Pyarrow是一个提供列式内存格式的库,它是一种组织数据的方式,使其更容易读取和并行处理。 总之,在pandas 2.0中使用pyarrow后端可以使数据操作更快、更节省内存,尤其是在处理大型数据集时。 Pandas 2.0将更快 PyArrow的引入将提大地提高了pandas的性能。这里提供了一个例子,对于一个250万行的字符串系列,在笔记本电脑上使用PyArrow比NumPy快31.6倍。

    1.1K60编辑于 2023-04-03
  • 来自专栏DeepHub IMBA

    Pandas 2.1发布了

    更好的PyArrow支持 PyArrow是在Panda 2.0中新加入的后端,对于大数据来说提供了优于NumPy的性能。Pandas 2.1增强了对PyArrow的支持。 官方在这次更新中使用最大的高亮字体宣布 PyArrow 将是 Pandas 3.0的基础依赖,这说明Panda 是认定了PyArrow了。 字符串的默认类型 默认情况下,所有字符串都存储在具有NumPy对象dtype的列中,如果你安装了PyArrow,则会将所有字符串推断为PyArrow支持的字符串,这个选项需要使用这个参数设置: pd.options.future.infer_string Python 3.9,也就是说我们如果有低版本的Python项目,要尽快升级了,或者说新项目的话最低也要3.9了 总结 在这次更新中提到了Pandas3.0,说明官方已经开始对它进行设计了,而且也强调了PyArrow 的重要性,所以要用好Pandas,PyArrow的基础是需要掌握的。

    49730编辑于 2023-09-14
  • 来自专栏前端进阶学习交流

    进步神速,Pandas 2.1中的新改进和新功能

    第一个基于PyArrow的字符串dtype在pandas 1.3中可用。它有潜力将内存使用量减少约70%并提高性能。 Pandas团队决定引入一个新的配置选项,将所有字符串列存储在PyArrow数组中。不再需要担心转换字符串列,它会自动工作。 必须安装PyArrow才能使用此选项。 PyArrow与NumPy对象dtype有不同的行为,可能会让人难以详细理解。Pandas团队实现了用于此选项的字符串dtype,以与NumPy的语义兼容。 改进的PyArrow支持 Pandas团队在pandas 2.0中引入了基于PyArrow的DataFrame。Pandas团队过去几个月的主要目标之一是改进pandas内部的集成。 Pandas团队希望现在使用基于PyArrow支持的DataFrames的体验会更好。

    3.5K10编辑于 2023-09-24
  • 来自专栏DeepHub IMBA

    Pandas 2.1发布了

    更好的PyArrow支持 PyArrow是在Panda 2.0中新加入的后端,对于大数据来说提供了优于NumPy的性能。Pandas 2.1增强了对PyArrow的支持。 官方在这次更新中使用最大的高亮字体宣布 PyArrow 将是 Pandas 3.0的基础依赖,这说明Panda 是认定了PyArrow了。 字符串的默认类型 默认情况下,所有字符串都存储在具有NumPy对象dtype的列中,如果你安装了PyArrow,则会将所有字符串推断为PyArrow支持的字符串,这个选项需要使用这个参数设置: pd.options.future.infer_string Python 3.9,也就是说我们如果有低版本的Python项目,要尽快升级了,或者说新项目的话最低也要3.9了 总结 在这次更新中提到了Pandas3.0,说明官方已经开始对它进行设计了,而且也强调了PyArrow 的重要性,所以要用好Pandas,PyArrow的基础是需要掌握的。

    41220编辑于 2023-09-14
  • 来自专栏网络安全技术点滴分享

    Apache Arrow:跨语言的内存分析工具集

    github.com/apache/arrow.gitcd arrow/cpp构建项目:mkdir buildcd buildcmake ..make -j4安装Python绑定(可选):pip install pyarrow arrow::Array> array;builder.Finish(&array);Python示例以下是一个Python示例,展示如何从Pandas DataFrame转换为Arrow表:import pyarrow License for the# specific language governing permissions and limitations# under the License.import pyarrow

    41210编辑于 2025-07-30
  • 来自专栏DeepHub IMBA

    pandas 3.0 内存调试指南:学会区分真假内存泄漏

    Arrow buffers:快是真快,粘也是真粘 pandas 3.0 默认启用了专用的 string dtype,装了 PyArrow 的话字符串列会用 Arrow 作为底层存储。 你可能会看到这种诡异的现象:pyarrow.total_allocated_bytes() 显示 Arrow 那边已经释放得差不多了,但 psutil.Process().memory_info().rss import pyarrow.parquet as pq table = pq.read_table("big.parquet") df = table.to_pandas() Python 分配可以用 tracemalloc 和 pympler 看,进程 RSS 用 psutil,Arrow 的内存用 pyarrow.total_allocated_bytes()。

    15010编辑于 2026-01-28
  • 来自专栏光城(guangcity)

    开源贡献代码之​探索一下CPython

    PyArrow熟悉的人应该一点也不陌生,这次接口变动也需要修改这个库,因为是在一个仓库里的,不然ci过不了。 而PyArrow的实现是通过Cython实现的,之前也没特别学习Cython,改出了一堆问题,其中遇到两个问题比较重要,这里记录一下。 问题1:初始化函数里面不支持其他类的默认构造。 _scalar(True)): pass 报错: TypeError: descriptor '_scalar' for 'pyarrow.

    37610编辑于 2024-04-22
  • 来自专栏Python大数据分析

    geopandas&geoplot近期重要更新

    geopandas更新到0.8.0版本后,便新增了read_feather()、to_feather()、read_parquet()以及to_parquet()这四个API,但要「注意」,这些新功能依赖于pyarrow ,首先请确保pyarrow被正确安装,推荐使用conda install -c conda-forge pyarrow来安装。

    1.1K30编辑于 2022-04-03
  • 来自专栏数据科学学习手札

    (数据科学学习手札89)geopandas&geoplot近期重要更新

    geopandas更新到0.8.0版本后,便新增了read_feather()、to_feather()、read_parquet()以及to_parquet()这四个API,但要注意,这些新功能依赖于pyarrow ,首先请确保pyarrow被正确安装,推荐使用conda install -c conda-forge pyarrow来安装。   

    1.2K20发布于 2020-07-14
  • 来自专栏流川疯编写程序的艺术

    pyspark 原理、源码解析与优劣势分析(2) ---- Executor 端进程间通信和序列化

    ArrowStreamPandasUDFSerializer(python/pyspark/serializers.py): def dump_stream(self, iterator, stream): import pyarrow if writer is not None: writer.close() def load_stream(self, stream): import pyarrow = pa.ipc.open_stream(stream) for batch in reader: yield batch 可以看到,这里双向的序列化、反序列化,都是调用了 PyArrow pandas.Series. """ batches = super(ArrowStreamPandasSerializer, self).load_stream(stream) import pyarrow

    2K20编辑于 2021-12-06
  • 来自专栏信数据得永生

    Pandas 2.2 中文官方教程和指南(十·二)

    + `pyarrow` 引擎保留扩展数据类型,如可空整数和字符串数据类型(需要 pyarrow >= 0.16.0,并要求扩展类型实现所需的协议,请参阅扩展类型文档)。 警告 + 建议使用 conda 安装 pyarrow,因为 pyarrow 存在一些问题。 + `to_orc()`需要 pyarrow>=7.0.0。 ”,则所有 dtype 都使用 pyarrow。 engine{'c', 'python', 'pyarrow'} 要使用的解析引擎。C 和 pyarrow 引擎更快,而 python 引擎目前更完整。目前只有 pyarrow 引擎支持多线程。 引擎(需要pyarrow软件包)。

    2.4K00编辑于 2024-05-24
  • 来自专栏Python爬虫与数据挖掘

    Mongodb数据库转换为表格文件的库

    依赖于快速 PyArrow mongo2file 依赖于 PyArrow 库。它是 C++ Arrow 的 Python 版本实现。 PyArrow 目前与 Python 3.7、3.8、3.9 和 3.10 兼容。 警告: PyArrow 目前只支持到 win64 位 ( Python 64bit ) 操作系统。

    2K10编辑于 2022-04-12
  • 来自专栏数据派THU

    10个Pandas的另类数据处理技巧

    4.5 MB | | triplets_525k.parquet | 1.9 MB | +------------------------+---------+ 读取parquet需要额外的包,比如pyarrow chatgpt说pyarrow比fastparquet要快,但是我在小数据集上测试时fastparquet比pyarrow要快,但是这里建议使用pyarrow,因为pandas 2.0也是默认的使用这个

    1.6K40编辑于 2023-04-18
  • 来自专栏尼莫的AI小站

    Spark Parquet详解

    对于调用者来说除了导入导出的API略有不同,其他操作是完全一致的; Pandas: import pandas as pd pd.read_parquet('parquet_file_path', engine='pyarrow ') 上述代码需要注意的是要单独安装pyarrow库,否则会报错,pandas是基于pyarrow对parquet进行支持的; PS:这里没有安装pyarrow,也没有指定engine的话,报错信息中说可以安装 pyarrow或者fastparquet,但是我这里试过fastparquet加载我的parquet文件会失败,我的parquet是spark上直接导出的,不知道是不是两个库对parquet支持上有差异还是因为啥 ,pyarrow就可以。。。。

    2.2K43发布于 2020-10-10
  • 来自专栏生信探索

    使用Arrow管理数据

    read iris.arrow as DataFrame iris=arrow::read_ipc_file('iris.arrow') python # conda install -y pandas pyarrow

    51540编辑于 2023-04-03
领券