Có cách nào để khởi tạo một mảng numpy của một hình dạng và thêm vào nó không? Tôi sẽ giải thích những gì tôi cần với một ví dụ danh sách. Nếu tôi muốn tạo một danh sách các đối tượng được tạo trong một vòng lặp, tôi có thể làm:
a = []
for i in range(5):
a.append(i)
Tôi muốn làm một cái gì đó tương tự với một mảng numpy. Tôi biết về vstack, concatenate, v.v. Tuy nhiên, có vẻ như những điều này đòi hỏi hai mảng numpy làm đầu vào. Cái tôi cần là:
big_array # Initially empty. This is where I don't know what to specify
for i in range(5):
array i of shape = (2,4) created.
add to big_array
Các big_array
nên có một hình dạng (10,4)
. làm như thế nào?
BIÊN TẬP:
Tôi muốn thêm làm rõ sau đây. Tôi biết rằng tôi có thể xác định big_array = numpy.zeros((10,4))
và sau đó điền vào. Tuy nhiên, điều này đòi hỏi phải chỉ định kích thước của big_array trước. Tôi biết kích thước trong trường hợp này, nhưng nếu tôi không có thì sao? Khi chúng tôi sử dụng .append
chức năng mở rộng danh sách trong python, chúng tôi không cần biết trước kích thước cuối cùng của nó. Tôi tự hỏi nếu một cái gì đó tương tự tồn tại để tạo ra một mảng lớn hơn từ các mảng nhỏ hơn, bắt đầu với một mảng trống.
x = numpy.array()
cách chúng ta sẽ làm với một danh sách như y = []
; nhưng nó không hoạt động
[i for i in range(5)]
. (Tương đương :list(range(5))
, mặc dù đây là một ví dụ giả định.)