【发布时间】:2018-12-03 16:52:43
【问题描述】:
我正在将 numpy 数组 data_np 的类型从 int32 更改为 float32 by data_np.dtype = np.float32
但它正在改变价值观
并在两者之间添加一个额外的0 列。
有关如何正确执行此操作的任何建议。
【问题讨论】:
标签: python arrays python-3.x numpy multidimensional-array
我正在将 numpy 数组 data_np 的类型从 int32 更改为 float32 by data_np.dtype = np.float32
但它正在改变价值观
并在两者之间添加一个额外的0 列。
有关如何正确执行此操作的任何建议。
【问题讨论】:
标签: python arrays python-3.x numpy multidimensional-array
ndarray.dtype 并不是要修改 dtype。我会使用astype:
data_np = data_np.astype(np.float32)
示例:
data_np = np.random.randint(0,10,(3,3),dtype=np.int32)
>>> data_np
array([[7, 8, 4],
[7, 6, 8],
[4, 5, 9]], dtype=int32)
data_np = data_np.astype(np.float32)
>>> data_np
array([[7., 8., 4.],
[7., 6., 8.],
[4., 5., 9.]], dtype=float32)
【讨论】: