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'