首页 > 解决方案 > Pandas 大写/小写在 dtypes 中是否意味着什么?

问题描述

Float32float32

Pandas 中大写和小写 dtype 的目的是什么?

大写似乎更容易出错:TypeError: object cannot be converted to a FloatingDtype.

dtype = {
    'doom_float64': 'Float64'
    , 'radiance_float32': 'Float32'
    , 'temperature_float': 'float'
    , 'moonday_int64': 'Int64'
    , 'month_int32': 'Int32'
    , 'color_uint8': 'UInt8'
    , 'shape_int': 'int'
    , 'weekday_object': 'object'
    , 'hour_object': 'string'
    , 'kingdom_category': 'category'
}
>>> df.dtypes

doom_float64          Float64
radiance_float32      Float32
temperature_float     float64
weekday_object         object
hour_object            string
moonday_int64           Int64
month_int32             Int32
color_uint8             UInt8
shape_int               int64
kingdom_category     category
dtype: object

Pandas v1.2.0

标签: pythonpandasnumpydtype

解决方案


是的,例如,请参见此处。

pandas 可以使用 arrays.IntegerArray 表示可能缺少值的整数数据。这是在 pandas 中实现的扩展类型。

或字符串别名“Int64”(注意大写“I”,以区别于 NumPy 的 'int64' dtype:

大写的类型是 pandas 类型,而非大写的类型是 numpy 类型。

pandas 类型的一个特性是能够支持 nan,这不是非浮点数的标准 IEEE。


推荐阅读