我比较2个numpy数组,并且想将它们加在一起。但是,在这样做之前,我需要确保它们的尺寸相同。如果大小不一样,则取较小的大小并用零填充最后一行以匹配形状。 这两个数组都有16列和N行。我认为它应该是非常直接的,但我无法绕开它。到目前为止,我能够比较2阵列形状。Numpy比较2个数组形状,如果不同,则追加0以匹配形状
import csv
import numpy as np
import sys
data = np.genfromtxt('./test1.csv', dtype=float, delimiter=',')
data_sys = np.genfromtxt('./test2.csv', dtype=float, delimiter=',')
print data.shape
print data_sys.shape
if data.shape != data_sys.shape:
print "we have an error"
这是我得到的输出:
=============New file.csv============
(603, 16)
(604, 16)
we have an error
我要填写“数据”数组的最后一行0,这样我可以添加2个阵列。 感谢您的帮助。
我使用这下面的代码: X =数据。形状[0] \t Y = data_sys.shape [0] \t如果X zero_array = np.zeros(diff,16) TypeError:数据类型不理解“ –
user3285014
np.zeros(diff,16)似乎很奇怪。差异是差异,我已经理解了很多。但什么是'16'代表。该函数需要一个dtype作为第二个参数。这是一个numpy.intxx(xx = 8,32,64,...)或一个浮点型参数。 – RaJa