Python酷库之旅-第三方库Pandas(177)-博客个人主页

时间:2024-10-30 11:08:49

一、用法精讲

816、pandas.api.types.infer_dtype函数
816-1、语法
# 816、pandas.api.types.infer_dtype函数
pandas.api.types.infer_dtype(value, skipna=True)
Return a string label of the type of a scalar or list-like of values.

Parameters:
value
scalar, list, ndarray, or pandas type
skipna
bool, default True
Ignore NaN values when inferring the type.

Returns:
str
Describing the common type of the input data.

Results can include:
string
bytes
floating
integer
mixed-integer
mixed-integer-float
decimal
complex
categorical
boolean
datetime64
datetime
date
timedelta64
timedelta
time
period
mixed
unknown-array
Raises:
TypeError
If ndarray-like but cannot infer the dtype

Notes

‘mixed’ is the catchall for anything that is not otherwise specialized

‘mixed-integer-float’ are floats and integers

‘mixed-integer’ are integers mixed with non-integers

‘unknown-array’ is the catchall for something that is an array (has a dtype attribute), but has a dtype unknown to pandas (e.g. external extension array)
816-2、参数

816-2-1、value(必须)任意类型,表示要推断类型的数据,可以是单个值、数组、列表或pandas的Series对象。

816-2-2、skipna(可选,默认值为True)布尔值,如果设为True,该函数将在推断数据类型时忽略缺失值(NaN);如果设为False,缺失值将被视为影响类型判断。

816-3、功能

        分析输入数据并推断其数据类型。

816-4、返回值

        返回一个字符串,表示推断的类型,常见的返回值包括:

  • 'integer':表示数据是整数类型。
  • 'floating':表示数据是浮点型。
  • 'string':表示数据是字符串类型。
  • 'boolean':表示数据是布尔类型。
  • 'datetime':表示数据是日期时间类型。
  • 'timedelta':表示数据是时间间隔类型。
  • 'categorical':表示数据是分类类型。
  • 'mixed':表示数据混合了多种类型。
  • 'empty':表示数据为空。
816-5、说明

        无

816-6、用法
816-6-1、数据准备
816-6-2、代码示例
# 816、pandas.api.types.infer_dtype函数
import pandas as pd
data1 = [1, 2, 3]
data2 = [1.0, 2.0, 3.0]
data3 = ["a", "b", "c"]
data4 = [pd.NaT, pd.Timestamp("2024-10-29")]
print(pd.api.types.infer_dtype(data1))
print(pd.api.types.infer_dtype(data2))
print(pd.api.types.infer_dtype(data3))
print(pd.api.types.infer_dtype(data4, skipna=False))  
816-6-3、结果输出
# 816、pandas.api.types.infer_dtype函数
# integer
# floating
# string
# datetime
817、pandas.api.types.pandas_dtype函数
817-1、语法
# 817、pandas.api.types.pandas_dtype函数
pandas.api.types.pandas_dtype(dtype)
Convert input into a pandas only dtype object or a numpy dtype object.

Parameters:
dtype
object to be converted
Returns:
np.dtype or a pandas dtype
Raises:
TypeError if not a dtype
817-2、参数

817-2-1、dtype(必须)任意类型,表示需要转换的类型,可以是NumPy类型、Python原生类型(如int,float,str等),或是已经存在的Pandas dtype对象。

817-3、功能

        用于将不同类型的数据转换为Pandas支持的dtype对象,在数据处理和类型转换时非常有用,有助于确保数据一致性。

817-4、返回值

        返回一个Pandas的dtype对象,该对象表示输入的类型,可以用于创建Pandas DataFrame或Series的数据类型。

817-5、说明

        无

817-6、用法
817-6-1、数据准备
817-6-2、代码示例
# 817、pandas.api.types.pandas_dtype函数
import pandas as pd
import numpy as np
# 转换NumPy类型
numpy_dtype = pd.api.types.pandas_dtype(np.int32)
print(numpy_dtype)
# 转换Python类型
python_dtype = pd.api.types.pandas_dtype(int)
print(python_dtype)
# 转换字符串类型
string_dtype = pd.api.types.pandas_dtype('string')
print(string_dtype)
# 转换日期时间类型
datetime_dtype = pd.api.types.pandas_dtype('datetime64[ns]')
print(datetime_dtype)
# 已存在的Pandas dtype
existing_dtype = pd.api.types.pandas_dtype(pd.Int64Dtype())
print(existing_dtype)
817-6-3、结果输出
# 817、pandas.api.types.pandas_dtype函数
# int32
# int32
# string
# datetime64[ns]
# Int64
818、pandas.api.types.is_any_real_numeric_dtype函数
818-1、语法
# 818、pandas.api.types.is_any_real_numeric_dtype函数
pandas.api.types.is_any_real_numeric_dtype(arr_or_dtype)
Check whether the provided array or dtype is of a real number dtype.

Parameters:
arr_or_dtype
array-like or dtype
The array or dtype to check.

Returns:
boolean
Whether or not the array or dtype is of a real number dtype.
818-2、参数

818-2-1、arr_or_dtype(必须)表示要检查的数组或数据类型,它可以是数组-like的对象(如列表、NumPy数组、Pandas Series等)或一个具体的数据类型(如int、float等)。

818-3、功能

        判断提供的数组或数据类型是否属于实数的数值类型,这里的“实数”指的是不包括复数的实数类型。

818-4、返回值

        返回一个布尔值:

  • True:如果提供的数组或数据类型是实数的数值类型(例如int,float)。
  • False:如果提供的数组或数据类型不是实数的数值类型(例如str,complex,bool,datetime64,timedelta64)。
818-5、说明

        无

818-6、用法
818-6-1、数据准备
818-6-2、代码示例
# 818、pandas.api.types.is_any_real_numeric_dtype函数
from pandas.api.types import is_any_real_numeric_dtype
# 检查整数类型
print(is_any_real_numeric_dtype(int))
# 检查浮点数类型
print(is_any_real_numeric_dtype(float))
# 检查字符串类型
print(is_any_real_numeric_dtype(str))
# 检查复数类型
print(is_any_real_numeric_dtype(complex(1, 2)))
# 检查布尔类型
print(is_any_real_numeric_dtype(bool))
# 检查NumPy 数组
import numpy as np
print(is_any_real_numeric_dtype(np.array([1, 2, 3])))
print(is_any_real_numeric_dtype(np.array(['a', 'b'])))  
818-6-3、结果输出
# 818、pandas.api.types.is_any_real_numeric_dtype函数 
# True
# True
# False
# False
# False
# True
# False
819、pandas.api.types.is_bool_dtype函数
819-1、语法
# 819、pandas.api.types.is_bool_dtype函数
pandas.api.types.is_bool_dtype(arr_or_dtype)
Check whether the provided array or dtype is of a boolean dtype.

Parameters:
arr_or_dtype
array-like or dtype
The array or dtype to check.

Returns:
boolean
Whether or not the array or dtype is of a boolean dtype.

Notes

An ExtensionArray is considered boolean when the _is_boolean attribute is set to True.
819-2、参数

819-2-1、arr_or_dtype(必须)表示要检查的数组或数据类型,它可以是数组-like的对象(如列表、NumPy数组、Pandas Series等)或一个具体的数据类型(如bool)。

819-3、功能

        判断提供的数组或数据类型是否为布尔类型,即可以取值为True或False。

819-4、返回值

        返回一个布尔值:

  • True:如果提供的数组或数据类型是布尔类型。
  • False:如果提供的数组或数据类型不是布尔类型。
819-5、说明

        无

819-6、用法
819-6-1、数据准备
819-6-2、代码示例
# 819、pandas.api.types.is_bool_dtype函数
import pandas as pd
from pandas.api.types import is_bool_dtype
# 检查布尔类型
print(is_bool_dtype(bool))
# 检查整数类型
print(is_bool_dtype(int))
# 检查浮点数类型
print(is_bool_dtype(float))
# 检查NumPy布尔数组
import numpy as np
bool_array = np.array([True, False, True])
print(is_bool_dtype(bool_array))
# 检查Pandas Series
bool_series = pd.Series([True, False, True])
print(is_bool_dtype(bool_series))
# 检查字符串类型
string_array = np.array(['a', 'b'])
print(is_bool_dtype(string_array))  
819-6-3、结果输出
# 819、pandas.api.types.is_bool_dtype函数 
# True
# False
# False
# True
# True
# False
820、pandas.api.types.is_complex_dtype函数
820-1、语法
# 820、pandas.api.types.is_complex_dtype函数
pandas.api.types.is_complex_dtype(arr_or_dtype)
Check whether the provided array or dtype is of a complex dtype.

Parameters:
arr_or_dtype
array-like or dtype
The array or dtype to check.

Returns:
boolean
Whether or not the array or dtype is of a complex dtype.
820-2、参数

820-2-1、arr_or_dtype(必须)表示要检查的数组或数据类型,可以是数组-like的对象(如列表、NumPy数组、Pandas Series等)或一个具体的数据类型(如复数类型)。

820-3、功能

        用于确定所提供的数组或数据类型是否为复数类型,即可以取值为具有虚部和实部的数值(如1+2j)。

820-4、返回值

        返回一个布尔值:

  • True:如果提供的数组或数据类型是复数类型。
  • False:如果提供的数组或数据类型不是复数类型。
820-5、说明

        无

820-6、用法
820-6-1、数据准备
820-6-2、代码示例
# 820、pandas.api.types.is_complex_dtype函数
import pandas as pd
from pandas.api.types import is_complex_dtype
# 检查复数类型
print(is_complex_dtype(complex))  
# 检查整数类型
print(is_complex_dtype(int))
# 检查浮点数类型
print(is_complex_dtype(float))
# 检查NumPy复数数组
import numpy as np
complex_array = np.array([1 + 2j, 3 + 4j])
print(is_complex_dtype(complex_array))
# 检查Pandas Series
complex_series = pd.Series([1 + 2j, 3 + 4j])
print(is_complex_dtype(complex_series))
# 检查字符串类型
string_array = np.array(['a', 'b'])
print(is_complex_dtype(string_array))
820-6-3、结果输出
# 820、pandas.api.types.is_complex_dtype函数
# True
# False
# False
# True
# True
# False

二、推荐阅读

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