pandas.api.types.infer_dtype#
- pandas.api.types.infer_dtype(value, skipna=True)#
返回一个标量或值列表类型的字符串标签。
- 参数:
- 值标量, 列表, ndarray, 或 pandas 类型
用于推断数据类型的输入数据。
- skipna布尔值, 默认为 True
在推断类型时忽略 NaN 值。
- 返回:
- str
描述输入数据的常见类型。
- 结果可以包括:
- string
- bytes
- floating
- 整数
- 混合整数
- 混合整数浮点
- decimal
- complex
- categorical
- 布尔值
- datetime64
- datetime
- 日期
- timedelta64
- timedelta
- 时间
- period
- 混合
- unknown-array
- 引发:
- TypeError
如果类似 ndarray 但无法推断 dtype
参见
api.types.is_scalar
检查输入是否为标量。
api.types.is_list_like
检查输入是否为类列表。
api.types.is_integer
检查输入是否为整数。
api.types.is_float
检查输入是否为浮点数。
api.types.is_bool
检查输入是否为布尔值。
注释
‘mixed’ 是用于任何未被专门分类的事物的总称
‘mixed-integer-float’ 是浮点数和整数
‘mixed-integer’ 是与非整数混合的整数
‘unknown-array’ 是用于捕获那些 是 数组(具有 dtype 属性),但具有 pandas 未知的数据类型(例如,外部扩展数组)的东西。
例子
>>> from pandas.api.types import infer_dtype >>> infer_dtype(['foo', 'bar']) 'string'
>>> infer_dtype(['a', np.nan, 'b'], skipna=True) 'string'
>>> infer_dtype(['a', np.nan, 'b'], skipna=False) 'mixed'
>>> infer_dtype([b'foo', b'bar']) 'bytes'
>>> infer_dtype([1, 2, 3]) 'integer'
>>> infer_dtype([1, 2, 3.5]) 'mixed-integer-float'
>>> infer_dtype([1.0, 2.0, 3.5]) 'floating'
>>> infer_dtype(['a', 1]) 'mixed-integer'
>>> from decimal import Decimal >>> infer_dtype([Decimal(1), Decimal(2.0)]) 'decimal'
>>> infer_dtype([True, False]) 'boolean'
>>> infer_dtype([True, False, np.nan]) 'boolean'
>>> infer_dtype([pd.Timestamp('20130101')]) 'datetime'
>>> import datetime >>> infer_dtype([datetime.date(2013, 1, 1)]) 'date'
>>> infer_dtype([np.datetime64('2013-01-01')]) 'datetime64'
>>> infer_dtype([datetime.timedelta(0, 1, 1)]) 'timedelta'
>>> infer_dtype(pd.Series(list('aabc')).astype('category')) 'categorical'