【问题标题】:Appending values to a slice on an np array将值附加到 np 数组上的切片
【发布时间】:2019-12-30 18:17:12
【问题描述】:

我有一个已初始化的 numpy 数组,如下所示:

pulse = np.ndarray(shape = (300, 10001, 3), dtype = float) 

我想用我从文件中读取的一些数据填充这个数组。 我想填充它的方式示例如下:

pulse[0][0][0] = 1
pulse[0][1:10001][0] = data

其中 data 是一个包含 10000 个元素的数组。

这可以使用 append 或 numpy 的其他函数来完成吗?

【问题讨论】:

标签: python append slice


【解决方案1】:

您当前方法的问题是您分配给数据的副本,因此原始数组保持不变。而是分配给数组的视图(称为切片分配),这样您就可以就地修改:

pulse[0, 1:10001, 0] = data

【讨论】:

    【解决方案2】:

    这应该可行:

    pulse[0,0,0]= 1
    pulse[0,1:1001,0]= data
    

    【讨论】:

      【解决方案3】:
      pulse[0][0][0] = 1
      pulse[0][1:10001][0] = data
      

      这会奏效。数据的维度必须与切片的大小完全相同。此外,如果您分配一个常量,而不是分配一个数组,那么切片中的所有元素都将被分配该值。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-10-20
        • 1970-01-01
        • 1970-01-01
        • 2015-11-09
        • 2015-11-03
        • 2018-02-05
        • 2020-07-09
        • 2013-12-10
        相关资源
        最近更新 更多