Pep*_*o33 4 python arrays numpy
我有一个必须保持其数据类型固定的数组。但是,在追加语句之后,其数据类型会发生变化。如何在不更改数据类型的情况下附加值?
vertices = array([0.5, 0.0, 0.0, 1.0, 0.0, 0.0,
0.0, 0.5, 0.0, 0.0, 1.0, 0.0,
0.0, -0.5, 0.0, 0.0, 0.5, 0.0], dtype=np.float32)
print(vertices.dtype)
vertices = append(vertices, [-0.5, 0.0, 0.0, 0.0, 0.0, 1.0])
print(vertices.dtype)
Run Code Online (Sandbox Code Playgroud)
输出:float32 float64
from numpy import *
import numpy as np
vertices = array([0.5, 0.0, 0.0, 1.0, 0.0, 0.0,
0.0, 0.5, 0.0, 0.0, 1.0, 0.0,
0.0, -0.5, 0.0, 0.0, 0.5, 0.0], dtype=np.float32)
print(vertices.dtype)
vertices = append(vertices, np.array([-0.5, 0.0, 0.0, 0.0, 0.0, 1.0], dtype=np.float32))
print(vertices.dtype)
random_arr = [-0.5, 0.0, 0.0, 0.0, 0.0, 1.0]
print(np.array(random_arr).dtype)
Run Code Online (Sandbox Code Playgroud)
float32
float32
float64
Run Code Online (Sandbox Code Playgroud)
默认情况下,numpy 在 float 数组上分配 float64 数据类型(检查最后一个 random_arr),因此一旦连接一个 float32 和一个 float64 数组,显然最终数组将被转换为 float64。因此,为了安全起见,只需在创建 numpy 数组时指定 dtype 即可。
| 归档时间: |
|
| 查看次数: |
3100 次 |
| 最近记录: |