Np.concatenate ValueError: все входные массивы должны иметь одинаковое количество измерений

Я пытаюсь объединить, но в итоге получил указанную ошибку. Я также новичок в python.

def cving(x1, x2, x3, x4, x5, y1, y2, y3, y4, y5, ind1, ind2, ind3, ind4, ind5, num):

if num == 0:
    xwhole = np.concatenate((x2, x3, x4, x5), axis=0)
    yhol = np.concatenate((y2, y3, y4, y5), axis=0)
    return x1, y1, ind1, xwhole, yhol
elif num == 1:
    xwhole = np.concatenate((x1, x3, x4, x5), axis=0)
    yhol = np.concatenate((y1, y3, y4, y5), axis=0)
    return x2, y2, ind2, xwhole, yhol
elif num == 2:
    xwhole = np.concatenate((x1, x2, x4, x5), axis=0)
    yhol = np.concatenate((y1, y2, y4, y5), axis=0)
    return x3, y3, ind3, xwhole, yhol
elif num == 3:
    xwhole = np.concatenate((x1, x2, x3, x5), axis=0)
    yhol = np.concatenate((y1, y2, y3, y5), axis=0)
    return x4, y4, ind4, xwhole, yhol
else:
    xwhole = np.concatenate((x1, x2, x3, x4), axis=0)
    yhol = np.concatenate((y1, y2, y3, y4), axis=0)
    return x5, y5, ind5, xwhole, yhol

Вот некоторые выходные данные x1,x2,x3 и x4 *Чтобы показать некоторые выходные данные, которые используются для np.concantate

x1 = [[  1.21537030e+07   5.73132800e+06   1.39127063e-01 ...,   0.00000000e+00
0.00000000e+00   0.00000000e+00]
[  2.19181650e+07   6.31495600e+06   1.58992826e-01 ...,   0.00000000e+00
0.00000000e+00   0.00000000e+00]
[  9.35311000e+05   5.93920000e+05   1.40974499e-01 ...,   0.00000000e+00
0.00000000e+00   0.00000000e+00]]

x2= []

x3= []

x4 = [  1.11088300e+06   1.23238400e+06   1.32048109e-01   1.05878525e-01
9.01409788e-01   1.24716612e+00   7.22766415e-01   0.00000000e+00
0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
0.00000000e+00   0.00000000e+00   1.15544472e-01   0.00000000e+00
0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
1.54537898e-02   0.00000000e+00   0.00000000e+00   0.00000000e+00
0.00000000e+00   0.00000000e+00   0.00000000e+00   7.82815688e-01
1.13352981e-04   1.13352981e-04   0.00000000e+00   0.00000000e+00
8.52792262e-02   0.00000000e+00   0.00000000e+00   0.00000000e+00
0.00000000e+00   0.00000000e+00   0.00000000e+00   0.00000000e+00
0.00000000e+00   6.80117887e-04   0.00000000e+00   0.00000000e+00]

person Muhamad Afiq Busari    schedule 09.10.2016    source источник


Ответы (1)


В сообщении об ошибке сказано все: x1 — 2D, а x4 — 1D. Объединять их нет смысла. Вы должны убедиться, что все конкатенированные массивы имеют одинаковую размерность, например. путем добавления измерения ко всем одномерным массивам

x4 = x4[:, np.newaxis]
person Nils Werner    schedule 09.10.2016