【发布时间】:2022-01-05 19:47:38
【问题描述】:
我有两个数组如下:
a=np.vstack([np.loadtxt(path, dtype='float') for path in glob.iglob(r'E:/PostDoc/720/*.txt')])
b=np.vstack([np.loadtxt(path, dtype='float') for path in glob.iglob(r'E:/PostDoc/1080/*.txt')])
a 和 b 是两个数组,大小为 (640,6)
现在我定义一个 3D 数组如下:
c = [[[0 for col in range(6)]for row in range(len(psnr_bitrate_1080))] for x in range(2)]
我想将 a 和 b 放入 c 中,为此,我使用以下代码:
c[:][:][0]=a
c[:][:][1]=b
但它什么也不做,c 中的所有值仍然为零,它不会用a 和b 替换c 中的值。你知道是什么问题吗? c 中的行和列是列表,而 a 和 b 是数组。我尝试制作一个值为a 和b 的3D 数组。我不知道为什么它不能正确地做。请告诉我该怎么做。谢谢。
【问题讨论】:
-
[:]在做什么?不是你的意图;实际上在做什么?为什么不[:,:,0]? -
是的,没错。因为我是python的初学者,所以对语法不是很熟悉。通过这样做,它可以工作。我用这个 c=np.zeros((len(a),2,6)) c[:,0,:] = a c[:,1,:] = b 谢谢
标签: python arrays python-3.x numpy