当前位置: 首页 > news >正文

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

目录

一、用法精讲

811、pandas.arrays.ArrowStringArray类

811-1、语法

811-2、参数

811-3、功能

811-4、返回值

811-5、说明

811-6、用法

811-6-1、数据准备

811-6-2、代码示例

811-6-3、结果输出

812、pandas.StringDtype类

812-1、语法

812-2、参数

812-3、功能

812-4、返回值

812-5、说明

812-6、用法

812-6-1、数据准备

812-6-2、代码示例

812-6-3、结果输出

813、pandas.arrays.BooleanArray类

813-1、语法

813-2、参数

813-3、功能

813-4、返回值

813-5、说明

813-6、用法

813-6-1、数据准备

813-6-2、代码示例

813-6-3、结果输出

814、pandas.BooleanDtype类

814-1、语法

814-2、参数

814-3、功能

814-4、返回值

814-5、说明

814-6、用法

814-6-1、数据准备

814-6-2、代码示例

814-6-3、结果输出

815、pandas.api.types.union_categoricals函数

815-1、语法

815-2、参数

815-3、功能

815-4、返回值

815-5、说明

815-6、用法

815-6-1、数据准备

815-6-2、代码示例

815-6-3、结果输出

二、推荐阅读

1、Python筑基之旅

2、Python函数之旅

3、Python算法之旅

4、Python魔法之旅

5、博客个人主页

一、用法精讲

811、pandas.arrays.ArrowStringArray
811-1、语法
# 811、pandas.arrays.ArrowStringArray类
class pandas.arrays.ArrowStringArray(values)
Extension array for string data in a pyarrow.ChunkedArray.WarningArrowStringArray is considered experimental. The implementation and parts of the API may change without warning.Parameters:
values
pyarrow.Array or pyarrow.ChunkedArray
The array of data.
811-2、参数

811-2-1、values(必须)表示输入的数据,通常是一个可迭代对象,比如列表或numpy数组,代表字符串的集合,它应该包含可转化为字符串的内容。

811-3、功能

        一个用于处理字符串数据的数组类,基于Apache Arrow的数据表示,它主要用于在Pandas中高效存储和操作字符串数据。

811-4、返回值

        创建ArrowStringArray实例后,将返回一个新的数组对象,能够在Pandas中使用,该对象可以参与常见的数组操作,如过滤、分组以及与其他数据结构的结合等。

811-5、说明

        无

811-6、用法
811-6-1、数据准备
811-6-2、代码示例
# 811、pandas.arrays.ArrowStringArray类
import pandas as pd
import pyarrow as pa
# 创建一个ArrowStringArray
values = ['apple', 'banana', None, 'cherry']
pa_array = pa.array(values, type=pa.large_string())
arrow_string_array = pd.array(pa_array, dtype="string[pyarrow]")
# 输出数组
print(arrow_string_array)
811-6-3、结果输出
# 811、pandas.arrays.ArrowStringArray类
# <ArrowStringArray>
# ['apple', 'banana', <NA>, 'cherry']
# Length: 4, dtype: string
812、pandas.StringDtype
812-1、语法
# 812、pandas.StringDtype类
class pandas.StringDtype(storage=None)
Extension dtype for string data.WarningStringDtype is considered experimental. The implementation and parts of the API may change without warning.Parameters:
storage
{“python”, “pyarrow”, “pyarrow_numpy”}, optional
If not given, the value of pd.options.mode.string_storage.
812-2、参数

812-2-1、storage(可选,默认值为None)字符串或None,指定存储字符串的方式,可以选择不同的存储后端,比如numpy或pd.StringDtype,在大多数情况下,默认值即可满足需求。

812-3、功能

        创建一个字符串数据类型的数组或数据框列,它能够处理缺失值,并为字符串数据提供一致的表现,与传统的字符类型相比,StringDtype允许更好的性能和功能,比如支持字符串操作和更安全的处理缺失值。

812-4、返回值

        当你创建一个pandas.StringDtype实例时,它会返回一个描述字符串类型的对象,该对象可以被用作Pandas数据框或系列中的数据类型,确保所有相关的数据都被视为字符串。

812-5、说明

        无

812-6、用法
812-6-1、数据准备
812-6-2、代码示例
# 812、pandas.StringDtype类
import pandas as pd
# 创建一个字符串类型的Series
string_series = pd.Series(["apple", "banana", "cherry"], dtype=pd.StringDtype())
print(string_series)
print(string_series.dtype)  
812-6-3、结果输出
# 812、pandas.StringDtype类 
# 0     apple
# 1    banana
# 2    cherry
# dtype: string
# string
813、pandas.arrays.BooleanArray
813-1、语法
# 813、pandas.arrays.BooleanArray类
class pandas.arrays.BooleanArray(values, mask, copy=False)
Array of boolean (True/False) data with missing values.This is a pandas Extension array for boolean data, under the hood represented by 2 numpy arrays: a boolean array with the data and a boolean array with the mask (True indicating missing).BooleanArray implements Kleene logic (sometimes called three-value logic) for logical operations. See Kleene logical operations for more.To construct an BooleanArray from generic array-like input, use pandas.array() specifying dtype="boolean" (see examples below).WarningBooleanArray is considered experimental. The implementation and parts of the API may change without warning.Parameters:
values
numpy.ndarray
A 1-d boolean-dtype array with the data.mask
numpy.ndarray
A 1-d boolean-dtype array indicating missing values (True indicates missing).copy
bool, default False
Whether to copy the values and mask arrays.Returns:
BooleanArray
813-2、参数

813-2-1、values(必修)一维ndarray(通常是布尔类型),表示实际数据的存储数组,该数组应当包含布尔值(True, False)。

813-2-2、mask(必修)一维ndarray(通常是布尔类型),表示掩码数组,标识数据的位置是否有效。通常,True表示该位置上数据是缺失的(即无效),False表示该位置的数据是有效的。

813-2-3、copy(可选,默认值为False)布尔值,如果设置为True,则输入的数据(values和mask)将被复制;否则,将尽可能避免复制以提升性能。

813-3、功能

        高效地存储和处理布尔类型的数据,尤其是当数据中包含缺失值时,它相较传统的NumPy布尔数组,能更好地处理缺失值,使得用户体验更加一致友好,特别是在数据分析和操作中。

813-4、返回值

        返回值是一个BooleanArray对象,它具有以下特点:

  • 内部存储了布尔值和掩码。
  • 支持常见的数组操作,比如索引、切片等。
  • 提供了一些专用的方法,专门用于处理布尔数组和缺失值相关的操作。
813-5、说明

        无

813-6、用法
813-6-1、数据准备
813-6-2、代码示例
# 813、pandas.arrays.BooleanArray类
import pandas as pd
import numpy as np
# 创建BooleanArray
values = np.array([True, False, True])
mask = np.array([False, True, False])
bool_array = pd.arrays.BooleanArray(values, mask)
print(bool_array)
# 访问数据
print(bool_array[0])
print(bool_array[1])  
# 检查缺失值
print(bool_array.isna())
813-6-3、结果输出
# 813、pandas.arrays.BooleanArray类
# <BooleanArray>
# [True, <NA>, True]
# Length: 3, dtype: boolean
# True
# <NA>
# [False  True False]
814、pandas.BooleanDtype
814-1、语法
# 814、pandas.BooleanDtype类
class pandas.BooleanDtype
Extension dtype for boolean data.WarningBooleanDtype is considered experimental. The implementation and parts of the API may change without warning.
814-2、参数

        无

814-3、功能

        为布尔类型的Series和DataFrame列提供一种类似于NumPy的bool类型,但具有原生的缺失值支持,该数据类型是基于Pandas的扩展类型系统构建的,支持Pandas的许多特性,如处理缺失数据、进行矢量化操作等。

814-4、返回值

        返回的是一个Pandas Series或DataFrame,其列具有布尔数据类型,且支持Pandas的缺失值,具体而言:

  • Series: 含有True、False、<NA>(表示缺失值)的布尔类型数据。
  • DataFrame: 可以将其应用于DataFrame的某些列,以保证这些列的数据类型为布尔,并支持缺失值。
814-5、说明

        无

814-6、用法
814-6-1、数据准备
814-6-2、代码示例
# 814、pandas.BooleanDtype类
import pandas as pd
# 创建一个包含布尔值和缺失值的Series
s = pd.Series([True, False, None, True])
# 将Series转换为BooleanDtype
s = s.astype(pd.BooleanDtype())
print(s)
print(s.dtype)
814-6-3、结果输出
# 814、pandas.BooleanDtype类
# 0     True
# 1    False
# 2     <NA>
# 3     True
# dtype: boolean
# boolean
815、pandas.api.types.union_categoricals函数
815-1、语法
# 815、pandas.api.types.union_categoricals函数
pandas.api.types.union_categoricals(to_union, sort_categories=False, ignore_order=False)
Combine list-like of Categorical-like, unioning categories.All categories must have the same dtype.Parameters:
to_union
list-like
Categorical, CategoricalIndex, or Series with dtype=’category’.sort_categories
bool, default False
If true, resulting categories will be lexsorted, otherwise they will be ordered as they appear in the data.ignore_order
bool, default False
If true, the ordered attribute of the Categoricals will be ignored. Results in an unordered categorical.Returns:
Categorical
Raises:
TypeError
all inputs do not have the same dtypeall inputs do not have the same ordered propertyall inputs are ordered and their categories are not identicalsort_categories=True and Categoricals are orderedValueError
Empty list of categoricals passed
815-2、参数

815-2-1、to_union(必须)列表或类数组,一个将要合并的分类对象的列表或数组,这些对象通常是Pandas的Categorical类型。

815-2-2、sort_categories(可选,默认值为False)布尔值,是否对合并后的分类类别进行排序,如果设置为True, 合并后的分类类别将按字典顺序排序。

815-2-3、ignore_order(可选,默认值为False)布尔值,是否忽略分类数据类型中的顺序属性,如果设置为True,则不会考虑分类对象的顺序属性,直接进行合并。

815-3、功能

        将多个分类数据类型合并成一个,这在处理具有相同分类类型但不同类别的多个数据集时非常有用,该函数会生成一个新的Categorical类型,其中包含所有输入分类对象的类别。

815-4、返回值

        该函数返回一个新的pandas.Categorical对象,该对象的类别是所有输入分类对象类别的并集,数据值按照合并的顺序排列。具体地:

  • 如果sort_categories为True,则返回的类别会进行排序。
  • 如果ignore_order为False且类别具有不同的顺序属性,则会引发错误。
815-5、说明

        无

815-6、用法
815-6-1、数据准备
815-6-2、代码示例
# 815、pandas.api.types.union_categoricals函数
import pandas as pd
# 创建两个分类对象,确保它们的ordered属性一致
cat1 = pd.Categorical(['a', 'b', 'c'], ordered=True)
cat2 = pd.Categorical(['b', 'c', 'a'], ordered=True)
# 合并分类对象
result = pd.api.types.union_categoricals([cat1, cat2])
# 打印结果
print(result)
815-6-3、结果输出
# 815、pandas.api.types.union_categoricals函数
# ['a', 'b', 'c', 'b', 'c', 'a']
# Categories (3, object): ['a' < 'b' < 'c']

二、推荐阅读

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

http://www.mrgr.cn/news/61635.html

相关文章:

  • 《机器学习by周志华》学习笔记-神经网络-03多层网络学习算法之误差逆传播算法
  • Educational Codeforces Round 171 (Rated for Div. 2) A~E
  • iQOO手机怎样将屏幕投射到MacBook?可以同步音频吗?
  • 6,000 个网站上的假 WordPress 插件提示用户安装恶意软件
  • 记某大学的一次EduSRC的挖掘
  • 在xml 中 不等式 做转义处理的问题
  • Unity 实现的背包系统
  • 微服务架构设计与实现:从理论到实践
  • 智能指针介绍
  • Python 编程风格:多余的空格
  • 关于JavaWeb开发框架有哪些?
  • 常见字符串操作函数
  • 问:缓存穿透、雪崩、预热、击穿、降级,怎么办?
  • springboot入门学习笔记2(连接mysql,使用mybatis,plus等)
  • 优维好案例:某银行系理财公司的IT基础资源服务管理平台
  • 支持向量机(Support Vector Machines, SVM)详细解读
  • python画图|被忽视的坐标轴比例ax.set_box_aspect()函数
  • 使用 OpenCV 进行人眼检测
  • 从零到一:大学新生编程入门攻略与成长指南
  • CAN总线物理层&基础特性
  • H3C M-LAG 实验
  • 名词(术语)了解 -- SSG
  • Java 中 JSONObject 遍历属性并删除的几种方法对比
  • TypeScript 泛型
  • thrift idl 语言基础学习
  • ConcurrentHashMap【核心源码讲解】