Python 为什么numpy数组的第一个元素在处理后设置为1?

Python 为什么numpy数组的第一个元素在处理后设置为1?,python,numpy,Python,Numpy,在下面的循环中,4×4数组从.npz文件加载并存储在数组的第二个二维中,examples k=0 files_in_dir = os.listdir('../FGSMGenerated/eps{}/case{}'.format(ep,CASE)) for files in files_in_dir: if files.endswith('.npz'): data = np.load(os.path.join(

在下面的循环中,4×4数组从.npz文件加载并存储在数组的第二个二维中,
examples

    k=0
    files_in_dir = os.listdir('../FGSMGenerated/eps{}/case{}'.format(ep,CASE))
        for files in files_in_dir:
            if files.endswith('.npz'):
                data = np.load(os.path.join('../FGSMGenerated/eps{}/case{}'.format(ep,CASE),files))
                array = data['features']
                examples[k,:,:,0,0]=array
                k += 1
但是,当使用

temp_array = examples[idx,:,:,0,0]
临时数组
(即
临时数组[0,0]
)的第一个元素始终为1,即使这不是原始数组[0,0]位置的元素。 但是,
temp_数组
的每个其他元素都与原始数组一致


为什么会这样

我不知道你为什么会遇到这个问题,但是你应该看看方法
np.tile
np.repeat
,如果3D数组的每个片段都是相同的,如果它们不同的话,
np.stack
和它的朋友。正是出于这个目的,用较小的阵列构建较大的阵列。

您的阵列(原始阵列和目标阵列)的
dtype
是什么?是第一个字节,还是所有的字节都错了?你能给我们展示一个版本来复制你的问题,比如说,几个4x4阵列吗?np.float32和它只是第一个元素是错误的。我将用实际代码更新我的问题,因为问题可能不在我使upI将维度更改为4x4的一般情况下。你可以想象,如果你愿意,这里只循环了两个例子。