如果我有一个 numpy dtype,我如何自动将它转换为最接近的 python 数据类型?例如,
numpy.float32 -> "python float"
numpy.float64 -> "python float"
numpy.uint32 -> "python int"
numpy.int16 -> "python int"
我可以尝试想出所有这些情况的映射,但是 numpy 是否提供了一些将其 dtypes 转换为最接近的本地 python 类型的自动方法?这种映射不需要详尽无遗,但它应该转换具有接近 python 模拟的常见数据类型。我认为这已经发生在 numpy 的某个地方。
原文由 conradlee 发布,翻译遵循 CC BY-SA 4.0 许可协议
使用
val.item()
将大多数 NumPy 值转换为本机 Python 类型:(另一种方法是
np.asscalar(val)
,但自 NumPy 1.16 起已弃用)。出于好奇,为您的系统构建一个 NumPy 数组标量 转换表:
There are a few NumPy types that have no native Python equivalent on some systems, including:
clongdouble
,clongfloat
,complex192
,complex256
,float128
,longcomplex
,longdouble
和longfloat
.在使用.item()
之前,需要将它们转换为最接近的 NumPy 等价物。