Python 将值追加到np数组上的切片

Python 将值追加到np数组上的切片,python,append,slice,Python,Append,Slice,我有一个已初始化的numpy数组,如下所示: pulse = np.ndarray(shape = (300, 10001, 3), dtype = float) 我想用从文件中读取的一些数据填充这个数组。 我希望填充它的方式示例如下所示: pulse[0][0][0] = 1 pulse[0][1:10001][0] = data 其中数据是由10000个元素组成的数组 这可以使用append或numpy的另一个函数来完成吗?当前方法的问题是,您正在分配数据的副本,因此原始数组保持不变。

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

pulse = np.ndarray(shape = (300, 10001, 3), dtype = float) 
我想用从文件中读取的一些数据填充这个数组。 我希望填充它的方式示例如下所示:

pulse[0][0][0] = 1
pulse[0][1:10001][0] = data
其中数据是由10000个元素组成的数组


这可以使用append或numpy的另一个函数来完成吗?

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

pulse[0, 1:10001, 0] = data
这应该起作用:

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

这会奏效的。数据的维度必须正好是切片的大小。另外,如果您指定一个常量,那么片中的所有元素都将被指定该值,而不是指定一个数组。

另外,我建议您检查@yatu谢谢您的建议!我会好好看看的
pulse[0][0][0] = 1
pulse[0][1:10001][0] = data