【问题标题】:Values get changed when numpy int32 array is converted to float32 [duplicate]当numpy int32数组转换为float32时,值会发生变化[重复]
【发布时间】: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


    【解决方案1】:

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-16
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      • 1970-01-01
      • 2018-02-07
      • 2017-07-21
      • 2023-03-11
      相关资源
      最近更新 更多