python改变numpy数据类型_将numpy数据类型转换为本机python类型

使用^{}将大多数NumPy值转换为本机Python类型:import numpy as np

# for example, numpy.float32 -> python float

val = np.float32(0)

pyval = val.item()

print(type(pyval)) #

# and similar...

type(np.float64(0).item()) #

type(np.uint32(0).item()) #

type(np.int16(0).item()) #

type(np.cfloat(0).item()) #

type(np.datetime64(0, 'D').item()) #

type(np.datetime64('2001-01-01 00:00:00').item()) #

type(np.timedelta64(0, 'D').item()) #

...

(另一个方法是^{},但是自从NumPy 1.16以来,它就被弃用了)。

对于好奇者,要为您的系统构建一个NumPy array scalars转换表:for name in dir(np):

obj = getattr(np, name)

if hasattr(obj, 'dtype'):

try:

if 'time' in name:

npn = obj(0, 'D')

else:

npn = obj(0)

nat = npn.item()

print('{0} ({1!r}) -> {2}'.format(name, npn.dtype.char, type(nat)))

except:

pass

有些NumPy类型在某些系统上没有本地Python等价物,包括:clongdouble、clongfloat、complex192、complex256、float128、longcomplex、longdouble和longfloat。在使用.item()之前,需要将它们转换为最接近的NumPy等价物。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值