Python酷库之旅-第三方库Pandas(013)

目录

一、用法精讲

31、pandas.read_feather函数

31-1、语法

31-2、参数

31-3、功能

31-4、返回值

31-5、说明

31-6、用法

31-6-1、数据准备

31-6-2、代码示例

31-6-3、结果输出

32、pandas.DataFrame.to_feather函数

32-1、语法

32-2、参数

32-3、功能

32-4、返回值

32-5、说明

32-6、用法

32-6-1、数据准备

32-6-2、代码示例

32-6-3、结果输出 

33、pandas.read_parquet函数

33-1、语法

33-2、参数

33-3、功能

33-4、返回值

33-5、说明

33-6、用法

33-6-1、数据准备

33-6-2、代码示例

33-6-3、结果输出 

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

31、pandas.read_feather函数
31-1、语法
# 31、pandas.read_feather函数
pandas.read_feather(path, columns=None, use_threads=True, storage_options=None, dtype_backend=_NoDefault.no_default)
Load a feather-format object from the file path.Parameters:
pathstr, path object, or file-like object
String, path object (implementing os.PathLike[str]), or file-like object implementing a binary read() function. The string could be a URL. Valid URL schemes include http, ftp, s3, and file. For file URLs, a host is expected. A local file could be: file://localhost/path/to/table.feather.columnssequence, default None
If not provided, all columns are read.use_threadsbool, default True
Whether to parallelize reading using multiple threads.storage_optionsdict, optional
Extra options that make sense for a particular storage connection, e.g. host, port, username, password, etc. For HTTP(S) URLs the key-value pairs are forwarded to urllib.request.Request as header options. For other URLs (e.g. starting with “s3://”, and “gcs://”) the key-value pairs are forwarded to fsspec.open. Please see fsspec and urllib for more details, and for more examples on storage options refer here.dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’
Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:"numpy_nullable": returns nullable-dtype-backed DataFrame (default)."pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.New in version 2.0.Returns:
type of object stored in file
31-2、参数

31-2-1、path(必须)文件路径(字符串或路径对象),指向要读取的Feather格式文件。

31-2-2、columns(可选,默认值为None)指定要读取的列名列表,如果为None(默认值),则读取文件中的所有列,这可以用于减少内存使用,特别是当只需要文件中的部分列时。

31-2-3、use_threads(可选,默认值为True)是否使用多线程来加速读取过程,默认为True,意味着将尝试使用多线程来加速读取,但这可能取决于底层系统和Python解释器的实现,在某些情况下,关闭多线程(use_threads=False)可能会提供更好的性能。

31-2-4、storage_options(可选,默认值为None)用于文件系统的额外选项,比如S3或Google Cloud Storage等,这些选项将传递给底层的文件系统对象。对于大多数用户来说,这个参数可能不需要设置,除非你在处理存储在特殊存储系统中的Feather文件。

31-2-5、dtype_backend(可选)内部调用,通常不需要用户直接设置。

31-3、功能

        用于从文件路径中加载Feather格式的对象。

31-4、返回值

        返回值是存储在Feather文件中的对象类型,通常是pandas.DataFrame。如果Feather文件中存储的是DataFrame类型的数据,那么read_feather函数就会读取这些数据并返回一个DataFrame对象。

31-5、说明

        Feather格式是一种二进制文件格式,专为pandas DataFrame的高效读写而设计,它相比其他文本格式(如CSV)具有更快的读写速度和更小的文件大小,因此,这个函数非常适合于需要快速加载大型数据集的场景。

31-6、用法
31-6-1、数据准备
31-6-2、代码示例
# 31、pandas.read_feather函数
# 运行此程序,务必确保你已经安装了pyarrow或fastparquet库
import pandas as pd
import numpy as np
# 创建一个简单的DataFrame
df = pd.DataFrame({'A': np.random.randn(100),  # 生成100个正态分布的随机数'B': np.random.randint(1, 100, 100)  # 生成100个1到99之间的随机整数
})
# 保存到Feather文件
file_path = 'example.feather'
try:df.to_feather(file_path)print(f"DataFrame 已成功保存到 {file_path}")
except Exception as e:print(f"保存 Feather 文件时发生错误: {e}")
# 读取Feather文件
try:df_read = pd.read_feather(file_path)print("读取 Feather 文件成功!")# 显示读取的数据print(df_read.head())  # 只显示前几行,以避免打印太多数据
except FileNotFoundError:print(f"文件 {file_path} 未找到,请确保文件存在!")
except Exception as e:print(f"读取 Feather 文件时发生错误: {e}")
31-6-3、结果输出
# 31、pandas.read_feather函数
# DataFrame 已成功保存到 example.feather
# 读取 Feather 文件成功!
#           A   B
# 0 -0.425313  48
# 1 -1.915324  72
# 2 -0.391787  97
# 3 -0.014345  48
# 4  1.813109  53
32、pandas.DataFrame.to_feather函数
32-1、语法
# 32、pandas.DataFrame.to_feather函数
DataFrame.to_feather(path, **kwargs)
Write a DataFrame to the binary Feather format.Parameters:
path
str, path object, file-like object
String, path object (implementing os.PathLike[str]), or file-like object implementing a binary write() function. If a string or a path, it will be used as Root Directory path when writing a partitioned dataset.**kwargs
Additional keywords passed to pyarrow.feather.write_feather(). This includes the compression, compression_level, chunksize and version keywords.NotesThis function writes the dataframe as a feather file. Requires a default index. For saving the DataFrame with your custom index use a method that supports custom indices e.g. to_parquet.
32-2、参数

32-2-1、path(必须)文件路径(字符串或路径对象),指定输出文件的路径,可以是相对路径或绝对路径,如果文件已经存在,它会被覆盖。

32-2-2、**kwargs(可选)传递给PyArrow Feather写入器的额外关键字参数。虽然Pandas的文档可能不直接列出所有可能的参数,但PyArrow的Feather写入器支持一些有用的选项,例如压缩和元数据。以下是一些可能的有用参数(请注意,这些参数的可用性和具体行为可能随 PyArrow 的版本而异):

32-2-2-1、compression(可选,默认值为None)指定用于压缩文件的压缩算法,可选值包括'lz4', 'zstd', 'uncompressed'和'snappy'(注意:并非所有算法在所有平台上都可用)。

32-2-2-2、compression_level:int(对于某些压缩算法),指定压缩级别,较高的值通常会导致更好的压缩比,但也会增加压缩和解压缩的计算成本。

32-2-2-3、version:int(默认是最新支持的版本),指定要写入的Feather文件的版本,这通常不需要手动指定,除非你有特定的兼容性要求。

32-2-2-4、metadata(可选)一个字典,允许你为文件附加自定义元数据,这些数据将作为文件的元数据存储,可以在读取文件时检索。

32-3、功能

        用于将DataFrame保存为Feather格式的文件。

32-4、返回值

        本身不返回任何值(即返回None),它的主要作用是将DataFrame保存到指定的文件路径中,而不是生成一个新的DataFrame或其他对象。

32-5、说明

        无      

32-6、用法
32-6-1、数据准备
32-6-2、代码示例
# 32、pandas.DataFrame.to_feather函数
# 运行此程序,务必确保你已经安装了pyarrow或fastparquet库
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3],'B': ['a', 'b', 'c']
})
# 将DataFrame保存为Feather文件
df.to_feather('example.feather')
# 注意:这里不会显示任何返回值,因为 to_feather() 不返回任何内容
# 但是,你可以通过检查文件系统来验证文件是否已被创建
# 稍后,你可以使用pd.read_feather()来重新加载数据
df_loaded = pd.read_feather('example.feather')
print(df_loaded)
32-6-3、结果输出 
# 32、pandas.DataFrame.to_feather函数
#    A  B
# 0  1  a
# 1  2  b
# 2  3  c
33、pandas.read_parquet函数
33-1、语法
# 33、pandas.read_parquet函数
pandas.read_parquet(path, engine='auto', columns=None, storage_options=None, use_nullable_dtypes=_NoDefault.no_default, dtype_backend=_NoDefault.no_default, filesystem=None, filters=None, **kwargs)
Load a parquet object from the file path, returning a DataFrame.Parameters:
pathstr, path object or file-like object
String, path object (implementing os.PathLike[str]), or file-like object implementing a binary read() function. The string could be a URL. Valid URL schemes include http, ftp, s3, gs, and file. For file URLs, a host is expected. A local file could be: file://localhost/path/to/table.parquet. A file URL can also be a path to a directory that contains multiple partitioned parquet files. Both pyarrow and fastparquet support paths to directories as well as file URLs. A directory path could be: file://localhost/path/to/tables or s3://bucket/partition_dir.engine{‘auto’, ‘pyarrow’, ‘fastparquet’}, default ‘auto’
Parquet library to use. If ‘auto’, then the option io.parquet.engine is used. The default io.parquet.engine behavior is to try ‘pyarrow’, falling back to ‘fastparquet’ if ‘pyarrow’ is unavailable.When using the 'pyarrow' engine and no storage options are provided and a filesystem is implemented by both pyarrow.fs and fsspec (e.g. “s3://”), then the pyarrow.fs filesystem is attempted first. Use the filesystem keyword with an instantiated fsspec filesystem if you wish to use its implementation.columnslist, default=None
If not None, only these columns will be read from the file.storage_optionsdict, optional
Extra options that make sense for a particular storage connection, e.g. host, port, username, password, etc. For HTTP(S) URLs the key-value pairs are forwarded to urllib.request.Request as header options. For other URLs (e.g. starting with “s3://”, and “gcs://”) the key-value pairs are forwarded to fsspec.open. Please see fsspec and urllib for more details, and for more examples on storage options refer here.New in version 1.3.0.use_nullable_dtypesbool, default False
If True, use dtypes that use pd.NA as missing value indicator for the resulting DataFrame. (only applicable for the pyarrow engine) As new dtypes are added that support pd.NA in the future, the output with this option will change to use those dtypes. Note: this is an experimental option, and behaviour (e.g. additional support dtypes) may change without notice.Deprecated since version 2.0.dtype_backend{‘numpy_nullable’, ‘pyarrow’}, default ‘numpy_nullable’
Back-end data type applied to the resultant DataFrame (still experimental). Behaviour is as follows:"numpy_nullable": returns nullable-dtype-backed DataFrame (default)."pyarrow": returns pyarrow-backed nullable ArrowDtype DataFrame.New in version 2.0.filesystemfsspec or pyarrow filesystem, default None
Filesystem object to use when reading the parquet file. Only implemented for engine="pyarrow".New in version 2.1.0.filtersList[Tuple] or List[List[Tuple]], default None
To filter out data. Filter syntax: [[(column, op, val), …],…] where op is [==, =, >, >=, <, <=, !=, in, not in] The innermost tuples are transposed into a set of filters applied through an AND operation. The outer list combines these sets of filters through an OR operation. A single list of tuples can also be used, meaning that no OR operation between set of filters is to be conducted.Using this argument will NOT result in row-wise filtering of the final partitions unless engine="pyarrow" is also specified. For other engines, filtering is only performed at the partition level, that is, to prevent the loading of some row-groups and/or files.New in version 2.1.0.**kwargs
Any additional kwargs are passed to the engine.Returns:
DataFrame
33-2、参数

33-2-1、path(必须)Parquet文件的路径,可以是相对路径或绝对路径。

33-2-2、engine(可选,默认值为'auto')指定用于读取Parquet文件的底层库,'auto'会自动选择(通常基于已安装的库),'pyarrow'和'fastparquet'是两个流行的Parquet库。

33-2-3、columns(可选,默认值为None)要读取的列名列表,如果指定,则只读取这些列,这可以显著减少内存使用和数据加载时间。

33-2-4、storage_options(可选,默认值为None)传递给文件系统的额外选项,如认证信息或配置设置,这通常用于处理存储在云存储(如AWS S3、Google Cloud Storage)上的Parquet文件。

33-2-5、use_nullable_dtypes(可选)如果为True,则使用Pandas的可空数据类型(如pd.Int64Dtype()、pd.StringDtype())来读取数据,这可以提高数据的准确性和性能,尤其是在处理大型数据集时;如果未指定,则根据Pandas的版本和配置自动选择。

33-2-6、dtype_backend(可选)内部调用,通常不需要用户手动设置。

33-2-7、filesystem(可选,默认值为None)用于读取Parquet文件的文件系统实例,这通常与storage_options一起使用,以处理存储在特定存储系统上的文件。

33-2-8、filters(可选,默认值为None)用于在读取Parquet文件时应用过滤器的表达式列表,这可以显著减少需要加载到内存中的数据量,过滤器的具体语法取决于底层Parquet引擎。

33-2-9、**kwargs(可选)其他关键字参数将传递给底层的Parquet读取器,这些参数可能因使用的引擎而异,因此请参考相应引擎的文档以获取更多信息。

33-3、功能

        从指定的文件路径加载Parquet格式的数据,并返回一个Pandas DataFrame对象。

33-4、返回值

        返回一个Pandas DataFrame对象,该对象包含了从Parquet文件中读取的数据。

33-5、说明

33-5-1、在处理大型Parquet文件时,建议合理使用columns和filters参数,以减少加载到内存中的数据量,提高读取效率。

33-5-2、如果Parquet文件存储在云存储上,需要确保已经正确设置了storage_options和(如果需要)filesystem参数,以便能够成功访问和读取文件。

33-5-3、use_nullable_dtypes和dtype_backend参数提供了对数据类型处理的精细控制,但通常不需要手动设置,除非在特定情况下需要优化性能或兼容性。

33-5-4、Parquet是一种列式存储的文件格式,非常适合于大数据的存储和高效读写,通过这个函数,用户可以轻松地将存储在Parquet文件中的数据加载到Pandas DataFrame中,以便进行进一步的数据分析或处理。

33-6、用法
33-6-1、数据准备
33-6-2、代码示例
# 33、pandas.read_parquet函数
# 运行此程序,务必确保你已经安装了pyarrow或fastparquet库
import pandas as pd
# 创建一个Pandas DataFrame
data = {'id': [1, 2, 3, 4],'name': ['Alice', 'Bob', 'Charlie', 'David'],'age': [25, 30, 35, 40],'city': ['New York', 'Los Angeles', 'Chicago', 'Houston']
}
df = pd.DataFrame(data)
# 指定Parquet文件的保存路径
parquet_path = 'example.parquet'
# 将DataFrame保存为Parquet文件
df.to_parquet(parquet_path, engine='pyarrow', compression='snappy')
print(f"Parquet文件已成功保存到:{parquet_path}")
# 读取Parquet文件
df_read = pd.read_parquet(parquet_path, engine='pyarrow')
# 显示读取的DataFrame以验证数据
print("读取的Parquet文件内容:")
print(df_read)
33-6-3、结果输出 
# 33、pandas.read_parquet函数
# Parquet文件已成功保存到:example.parquet
# 读取的Parquet文件内容:
#    id     name  age         city
# 0   1    Alice   25     New York
# 1   2      Bob   30  Los Angeles
# 2   3  Charlie   35      Chicago
# 3   4    David   40      Houston

二、推荐阅读

1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/373318.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【计算机毕业设计】基于Springboot的IT技术交流和分享平台【源码+lw+部署文档】

包含论文源码的压缩包较大&#xff0c;请私信或者加我的绿色小软件获取 免责声明&#xff1a;资料部分来源于合法的互联网渠道收集和整理&#xff0c;部分自己学习积累成果&#xff0c;供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者…

14-56 剑和诗人30 - IaC、PaC 和 OaC 在云成功中的作用

介绍 随着各大企业在 2024 年加速采用云计算&#xff0c;基础设施即代码 (IaC)、策略即代码 (PaC) 和优化即代码 (OaC) 已成为成功实现云迁移、IT 现代化和业务转型的关键功能。 让我在云计划的背景下全面了解这些代码功能的当前状态。我们将研究现代云基础设施趋势、IaC、Pa…

MATLAB备赛资源库(1)建模指令

一、介绍 MATLAB&#xff08;Matrix Laboratory&#xff09;是一种强大的数值计算环境和编程语言&#xff0c;特别设计用于科学计算、数据分析和工程应用。 二、使用 数学建模使用MATLAB通常涉及以下几个方面&#xff1a; 1. **数据处理与预处理**&#xff1a; - 导入和处理…

MacOS如何切换shell类型

切换 shell 类型 如果你想在不同的 shell 之间切换&#xff0c;以探索它们的不同之处&#xff0c;或者因为你知道自己需要其中的一个或另一个&#xff0c;可以使用如下命令&#xff1a; 切换到 bash chsh -s $(which bash)切换到 zsh chsh -s $(which zsh)$()语法的作用是运…

VSCode无法连接网络安装插件-手动安装插件

手动安装插件&#xff1a; 你可以尝试从 Visual Studio Code Marketplace 下载 .vsix 文件&#xff0c;然后在VSCode中手动安装。 手动安装的步骤如下&#xff1a; 1.访问插件页面&#xff0c;下载 .vsix 文件。 Extensions for Visual Studio family of products | Visual S…

CSS【详解】层叠 z-index (含 z-index 的层叠规则,不同样式的层叠效果)

仅对已定位的元素&#xff08; position:relative&#xff0c;position:absolute&#xff0c;position:fixed &#xff09;有效&#xff0c;默认值为0&#xff0c;可以为负值。 z-index 的层叠规则 z-index 值从小到大层叠 兄弟元素 z-index 值相同时&#xff0c;后面的元素在…

MySQL架构你了解多少?

MySQL是一个服务器-客户端应用&#xff0c;MySQL8.0服务器是由连接池、服务管理工具和公共组件、NoSQL接口、SQL接口、解析器、优化器、缓存、存储引擎、文件系统组成。MySQL还为各种编程语言提供了一套用于外部程序访问服务器的连接器。整体架构图如下所示: MySQLConnectors:为…

文件操作和IO流(Java版)

前言 我们无时无刻不在操作文件。可以说&#xff0c;我们在电脑上能看到的图片、视频、音频、文档都是一个又一个的文件&#xff0c;我们需要从文件中读取我们需要的数据&#xff0c;将数据运算后也需要将结果写入文件中长期保存。可见文件的重要性&#xff0c;今天我们就来简…

windows实现Grafana+Loki+loki4j轻量级日志系统,告别沉重的ELK

文章目录 Loki下载Grafana下载安装Loki添加Loki数据源springboot日志推送 Loki下载 下载地址&#xff1a;https://github.com/grafana/loki/releases/ 找到loki-windows-amd64.exe.zip点击开始下载&#xff0c;我这里下载的2.9.9版本 Grafana下载 下载地址&#xff1a;http…

Hi3861 OpenHarmony嵌入式应用入门--MQTT

MQTT 是机器对机器(M2M)/物联网(IoT)连接协议。它被设计为一个极其轻量级的发布/订阅消息传输 协议。对于需要较小代码占用空间和/或网络带宽非常宝贵的远程连接非常有用&#xff0c;是专为受限设备和低带宽、 高延迟或不可靠的网络而设计。这些原则也使该协议成为新兴的“机器…

“Numpy数据分析与挖掘:高效学习重点技能“

目录 # 开篇 # 补充 zeros & ones eye 1. numpy数组的创建 1.1 array 1.2 range 1.3 arange 1.4 常见的数据类型 1.5 astype 1.6 random.random() & round 2. numpy数组计算和数组计算 2.1 reshape 2.2 shape 2.3 将一维数组变成多维数组 2.4 指定一维…

Java版Flink使用指南——合流

大纲 新建工程无界流奇数Long型无界流偶数Long型无界流奇数String型无界流 合流UnionConnect 测试工程代码 在《Java版Flink使用指南——分流导出》中&#xff0c;我们通过addSink进行了输出分流。本文我们将介绍几种通过多个无界流输入合并成一个流来进行处理的方案。 新建工…

linux查看目录下的文件夹命令,find 查找某个目录,但是不包括这个目录本身?

linux查看目录下的文件夹命令&#xff0c;find 查找某个目录&#xff0c;但是不包括这个目录本身&#xff1f; Linux中查看目录下的文件夹的命令是使用ls命令。ls命令用于列出指定目录中的文件和文件夹。通过不同的选项可以实现显示详细信息、按照不同的排序方式以及使用不同的…

算法小练之 位运算基础

前言 今天正式走入&#xff0c;位运算这个章节&#xff0c;关于这一部分我会先介绍几个重要的知识点&#xff0c;然后再根据几个力扣上的题来讲解。 了解6种位操作 总所周知&#xff0c;变量在计算机中都是二进制存储的&#xff0c;比如一个变量int a 1&#xff1b; 它的存…

申请商标用什么颜色:企业和个人申请注册商标攻略!

在申请注册商标到底要用什么颜色&#xff0c;许多初次申请注册主体都不是特别清楚&#xff0c;普推知产商标老杨建议&#xff0c;在一般情况下建议尽量用黑白色&#xff0c;因为商标用黑白色在使用时可以着任何色。 在用黑色申请注册成功&#xff0c;别的主体用其它颜色要在同…

飞腾平台虚拟机组播性能调优指南

【写在前面】 飞腾开发者平台是基于飞腾自身强大的技术基础和开放能力&#xff0c;聚合行业内优秀资源而打造的。该平台覆盖了操作系统、算法、数据库、安全、平台工具、虚拟化、存储、网络、固件等多个前沿技术领域&#xff0c;包含了应用使能套件、软件仓库、软件支持、软件适…

Mattermost:一个强大的开源协作平台

Mattermost是一个强大的开源协作平台&#xff0c;基于云原生架构&#xff0c;为企业级用户提供安全、可扩展且自托管的消息传递解决方案。 一、平台特点 开源与定制性&#xff1a;Mattermost是一个开源项目&#xff0c;用户可以根据自身需求定制界面、添加功能或扩展其功能&am…

c++ 多边形 xyz 数据 获取 中心点方法

有需求需要对。多边形 获取中心点方法&#xff0c;绝大多数都是 puthon和java版本。立体几何学中的知识。 封装函数 point ##########::getCenterOfGravity(std::vector<point> polygon) {if (polygon.size() < 2)return point();auto Area [](point p0, point p1, p…

【福利】代码公开!咸鱼之王自动答题脚本

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 微信或QQ打开咸鱼之王小程序&#xff0c;进入答题界面&#xff0c;运行main.py。期间不要动鼠标。 可自行更改代码来适配自己的需求~ 可以按照示例图片…

在亚马逊云科技AWS上利用SageMaker机器学习模型平台搭建生成式AI应用(附Llama大模型部署和测试代码)

项目简介&#xff1a; 接下来&#xff0c;小李哥将会每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践&#xff0c;并应用到自己的日常工作里。本次介绍的是如何在Amazon …