Python酷库之旅-第三方库Pandas(193)
目录
一、用法精讲
896、pandas.Index.isna方法
896-1、语法
896-2、参数
896-3、功能
896-4、返回值
896-5、说明
896-6、用法
896-6-1、数据准备
896-6-2、代码示例
896-6-3、结果输出
897、pandas.Index.notna方法
897-1、语法
897-2、参数
897-3、功能
897-4、返回值
897-5、说明
897-6、用法
897-6-1、数据准备
897-6-2、代码示例
897-6-3、结果输出
898、pandas.Index.astype方法
898-1、语法
898-2、参数
898-3、功能
898-4、返回值
898-5、说明
898-6、用法
898-6-1、数据准备
898-6-2、代码示例
898-6-3、结果输出
899、pandas.Index.item方法
899-1、语法
899-2、参数
899-3、功能
899-4、返回值
899-5、说明
899-6、用法
899-6-1、数据准备
899-6-2、代码示例
899-6-3、结果输出
900、pandas.Index.map方法
900-1、语法
900-2、参数
900-3、功能
900-4、返回值
900-5、说明
900-6、用法
900-6-1、数据准备
900-6-2、代码示例
900-6-3、结果输出
二、推荐阅读
1、Python筑基之旅
2、Python函数之旅
3、Python算法之旅
4、Python魔法之旅
5、博客个人主页
一、用法精讲
896、pandas.Index.isna方法
896-1、语法
# 896、pandas.Index.isna方法
final pandas.Index.isna()
Detect missing values.
Return a boolean same-sized object indicating if the values are NA. NA values, such as None, numpy.NaN or pd.NaT, get mapped to True values. Everything else get mapped to False values. Characters such as empty strings ‘’ or numpy.inf are not considered NA values.
Returns:
numpy.ndarray[bool]
A boolean array of whether my values are NA.
896-2、参数
无
896-3、功能
用于检测Pandas索引对象中缺失值(NaN)。
896-4、返回值
返回一个布尔类型的数组,数组的长度与原索引相同,如果某个位置的值是缺失的(即NaN),则对应的布尔数组中的值为True,否则为False。
896-5、说明
无
896-6、用法
896-6-1、数据准备
无
896-6-2、代码示例
# 896、pandas.Index.isna方法
import pandas as pd
import numpy as np
# 创建一个含有缺失值的索引
index = pd.Index([1, 2, np.nan, 4, 5, np.nan])
# 使用isna()方法检测缺失值
missing_values = index.isna()
print(missing_values)
896-6-3、结果输出
# 896、pandas.Index.isna方法
# [False False True False False True]
897、pandas.Index.notna方法
897-1、语法
# 897、pandas.Index.notna方法
final pandas.Index.notna()
Detect existing (non-missing) values.
Return a boolean same-sized object indicating if the values are not NA. Non-missing values get mapped to True. Characters such as empty strings '' or numpy.inf are not considered NA values. NA values, such as None or numpy.NaN, get mapped to False values.
Returns:
numpy.ndarray[bool]
Boolean array to indicate which entries are not NA.
897-2、参数
无
897-3、功能
用于检测Pandas索引对象中非缺失值。
897-4、返回值
返回一个布尔类型的数组,数组的长度与原索引相同,如果某个位置的值不是缺失的(即不是NaN),则对应的布尔值为True,否则为False。
897-5、说明
无
897-6、用法
897-6-1、数据准备
无
897-6-2、代码示例
# 897、pandas.Index.notna方法
import pandas as pd
import numpy as np
# 创建一个含有缺失值的索引
index = pd.Index([1, 2, np.nan, 4, 5, np.nan])
# 使用notna()方法检测非缺失值
non_missing_values = index.notna()
print(non_missing_values)
897-6-3、结果输出
# 897、pandas.Index.notna方法
# [ True True False True True False]
898、pandas.Index.astype方法
898-1、语法
# 898、pandas.Index.astype方法
pandas.Index.astype(dtype, copy=True)
Create an Index with values cast to dtypes.
The class of a new Index is determined by dtype. When conversion is impossible, a TypeError exception is raised.
Parameters:
dtype
numpy dtype or pandas type
Note that any signed integer dtype is treated as 'int64', and any unsigned integer dtype is treated as 'uint64', regardless of the size.
copy
bool, default True
By default, astype always returns a newly allocated object. If copy is set to False and internal requirements on dtype are satisfied, the original data is used to create a new Index or the original Index is returned.
Returns:
Index
Index with values cast to specified dtype.
898-2、参数
898-2-1、dtype(必需):字符串,表示目标数据类型,可以是NumPy数据类型(如np.int64,np.float32等)或者对应的字符串表示(如'int64','float'等),该参数指定了将当前Index中的所有元素转换为的新数据类型。
898-2-2、copy(可选,默认值为True):布尔值,是否返回一个新的对象,如果设置为True,将会复制数据并返回新的Index;如果设置为False,如果可能则返回原数组的视图,或者可能是原数组的引用,为了确保不改变原始数据,通常建议将其设置为True。
898-3、功能
改变Index对象中元素的数据类型,返回一个具有新数据类型的新Index对象,适用于需要显式转换数据类型的场景,比如在数据预处理或清洗过程中,确保Index的数据类型与分析需求一致。
898-4、返回值
返回一个新的Index对象,类型根据dtype参数指定,如果成功转换,则新Index中的元素将具有指定的数据类型;如果转换失败,将引发相应的异常。
898-5、说明
无
898-6、用法
898-6-1、数据准备
无
898-6-2、代码示例
# 898、pandas.Index.astype方法
import pandas as pd
# 创建一个索引对象
index = pd.Index([1, 2, 3, 4])
# 转换为浮点型
new_index = index.astype(float)
print(new_index)
898-6-3、结果输出
# 898、pandas.Index.astype方法
# Index([1.0, 2.0, 3.0, 4.0], dtype='float64')
899、pandas.Index.item方法
899-1、语法
# 899、pandas.Index.item方法
pandas.Index.item()
Return the first element of the underlying data as a Python scalar.
Returns:
scalar
The first element of Series or Index.
Raises:
ValueError
If the data is not length = 1.
899-2、参数
无
899-3、功能
当Index对象仅包含一个元素时,调用该方法将返回该元素的值,如果Index包含多个元素,调用此方法将引发IndexError。
899-4、返回值
返回Index中唯一元素的标量值。
899-5、说明
无
899-6、用法
899-6-1、数据准备
无
899-6-2、代码示例
# 899、pandas.Index.item方法
import pandas as pd
# 创建一个包含单个元素的索引对象
index_single = pd.Index([42])
# 使用item()方法提取元素
item_value = index_single.item()
print(item_value)
899-6-3、结果输出
# 899、pandas.Index.item方法
# 42
900、pandas.Index.map方法
900-1、语法
# 900、pandas.Index.map方法
pandas.Index.map(mapper, na_action=None)
Map values using an input mapping or function.
Parameters:
mapper
function, dict, or Series
Mapping correspondence.
na_action
{None, ‘ignore’}
If ‘ignore’, propagate NA values, without passing them to the mapping correspondence.
Returns:
Union[Index, MultiIndex]
The output of the mapping function applied to the index. If the function returns a tuple with more than one element a MultiIndex will be returned.
900-2、参数
900-2-1、mapper(必需):该方法的核心参数,它可以是以下几种类型:
- 函数: 可以是自定义的函数,接受一个输入并返回相应的输出。该函数将应用于Index中的每个元素。
- 字典: 字典的键对应于Index中的元素,值则是要映射到的新值,若有元素在字典中找不到对应键,结果将为NaN。
- 序列: 用于直接映射,要求序列的索引与Index对象的元素一一对应。
- Series: 类似于字典,Series的索引对应Index中的元素,Series的值将成为映射的新值。
900-2-2、na_action(可选,默认值为None):控制如何处理NaN值的参数,接受的取值有:
- 'ignore'(默认值): 对于NaN值,保持原样,不进行映射。
- 'raise': 遇到NaN值将引发异常。
900-3、功能
根据提供的mapper对Index对象的每个元素进行转换,通过这个方法,用户可以轻松地处理索引数据,例如对元素进行替换、转换格式、数据清洗等,在数据预处理和转换环节非常常见。
900-4、返回值
返回一个新的Index对象,其中包含经过映射后的元素,返回的Index类型取决于映射操作的结果:
- 如果映射是有效的且每个元素都能够成功转换,则返回的Index将与原索引长度相同。
- 如果映射过程中存在未找到映射的元素,根据na_action的设置,可能会返回NaN值。
900-5、说明
无
900-6、用法
900-6-1、数据准备
无
900-6-2、代码示例
# 900、pandas.Index.map方法
import pandas as pd
# 创建一个Index
index = pd.Index(['a', 'b', 'c', 'd'])
# 使用map函数:将每个元素大写
mapped_index = index.map(str.upper)
print(mapped_index)
# 使用字典映射
mapping_dict = {'a': 1, 'b': 2, 'c': 3}
mapped_index = index.map(mapping_dict)
print(mapped_index)
# 使用na_action
mapped_index = index.map(mapping_dict, na_action='ignore')
print(mapped_index)
900-6-3、结果输出
# 900、pandas.Index.map方法
# Index(['A', 'B', 'C', 'D'], dtype='object')
# Index([1.0, 2.0, 3.0, nan], dtype='float64')
# Index([1.0, 2.0, 3.0, nan], dtype='float64')