Python:numpy 数据类型转换

标签 python arrays python-3.x numpy

我对看到的一些输出感到困惑。

如果 p 是 float 列表,则两者之间有什么区别:

input = np.array([p]).astype('f')

input = np.array([p],float)

如果我使用第二个选项,然后执行打印(输入),我总是会得到类似的结果:

[数组([-0.662, 0.246, 1.029])]

但是如果我使用第一个选项,有时我会得到简单的结果: [[ 0.61900002 1.71300006 2.16899991]]

但有时我会得到 [array([])] 形式。

最佳答案

解释如下:

In [217]: np.array([1.1,1.2,1.3]).astype('f')
Out[217]: array([ 1.10000002,  1.20000005,  1.29999995], dtype=float32)

In [218]: np.array([1.1,1.2,1.3]).astype('float')
Out[218]: array([ 1.1,  1.2,  1.3])

In [219]: np.array([1.1,1.2,1.3]).astype(float)
Out[219]: array([ 1.1,  1.2,  1.3])

类型:

In [220]: np.array([1.1,1.2,1.3]).astype(float).dtype
Out[220]: dtype('float64')

In [221]: np.array([1.1,1.2,1.3]).astype('f').dtype
Out[221]: dtype('float32')

因此使用 np.array([p], 'f') 会得到相同的结果:

In [224]: np.array([1.1,1.2,1.3],'f')
Out[224]: array([ 1.10000002,  1.20000005,  1.29999995], dtype=float32)

关于Python:numpy 数据类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37126967/

相关文章:

python 赛车冠军

python-3.x - 调试 Numpy VisibleDeprecationWarning(来自不规则嵌套序列的 ndarray)

python - 从本地计算机查询网站的 python 脚本

python - TensorFlow:Hadamard 产品::我如何获得它?

python - Django 1.4 SimpleListFilter 'selected' 选项问题

c - 如何在 C 中将字符数组的一部分转换为整型变量

java - 不将数组从 json 解析为 android java

python - 制作一个二维字符串矩阵来匹配网格坐标

python - 最小 DOM - 在根节点上设置一个属性

python - 如何在 Python 中进行 scp?