当前位置:  开发笔记 > 编程语言 > 正文

NumPy中astype的有效参数

如何解决《NumPy中astype的有效参数》经验,为你挑选了1个好方法。

我是NumPy和SciPy的新手.与Matlab不同,似乎NumPy中的每个数组都有一个数据类型.

假设我们有一个整数数组x:

import numpy as np
x = np.array([1, 2, 3])

如果我想将数组转换为float,那么它似乎如下工作:

y1 = x.astype('float64')  # Works!
y2 = x.astype('float_')   # Works!
y3 = x.astype('float')    # Works!

但是我有点不好意思看到以下内容也可以在没有单引号的情况下工作.

y4 = x.astype(float)      # Still works!!

但是对于用于y1和y2的其他表达式,如果我省略单引号,则它不起作用:

y5 = x.astype(float64)  # Doesn't work.
y6 = x.astype(float_)   # Doesn't work.

所以,我有点困惑为什么y4工作,但y5和y6导致错误.有人可以启发我这个吗?



1> Martin Valgu..:

其他表达式工作,您只需要从numpy导入类型.您不需要这样做,float因为它是Python的内置类型.

y5 = x.astype(np.float64)
y6 = x.astype(np.float_)

字符串类型和类型类型输入都在numpy.dtype内部转换为对象,这是您在使用ndarray.dtype属性时看到的内容.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有