import numpy as np
for h in range(10):
try:
array = np.array([np.zeros((h, 4)), np.zeros((3, h))], dtype=object)
except ValueError:
print(f'Value Error for h={h} only.')
No código acima, ValueError
só acontece para h=3
. Isso parece arbitrário.
O erro total é:
File "path/to/arr.py", line 4, in <module>
array = np.array([np.zeros((h, 4)), np.zeros((3, h))], dtype=object)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ValueError: could not broadcast input array from shape (3,4) into shape (3,)
Como posso evitar isso e por que isso acontece?
numpy
, ele tenta combiná-las em uma matriz regular e multidimensional, se possível.h=3
ambas as matrizes há o mesmo número de linhas.numpy
acho que você pode querer empilhar essas matrizes, mas os tamanhos das colunas 4 e 3 não correspondem, resultando emValueError
.numpy
não combiná-los.