มีวิธีเริ่มต้นอาร์เรย์ที่เป็นตัวเลขและเพิ่มเข้าไปหรือไม่? ฉันจะอธิบายสิ่งที่ฉันต้องการพร้อมตัวอย่างรายการ ถ้าฉันต้องการสร้างรายการของวัตถุที่สร้างในลูปฉันสามารถทำได้:
a = []
for i in range(5):
a.append(i)
ฉันต้องการทำสิ่งที่คล้ายกันกับอาร์เรย์จำนวนนับ ฉันรู้เกี่ยวกับ vstack, เชื่อมต่อ ฯลฯ อย่างไรก็ตามดูเหมือนว่าสิ่งเหล่านี้ต้องการอาร์เรย์ numpy สองตัวเป็นอินพุต สิ่งที่ฉันต้องการคือ:
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
ควรจะมีรูปร่างbig_array
(10,4)
ต้องทำอย่างไร?
แก้ไข:
ฉันต้องการเพิ่มคำชี้แจงต่อไปนี้ ฉันรู้ว่าฉันสามารถกำหนดbig_array = numpy.zeros((10,4))
และเติมเต็มได้ อย่างไรก็ตามสิ่งนี้จำเป็นต้องระบุขนาดของ big_array ล่วงหน้า ฉันรู้ขนาดในกรณีนี้ แต่ถ้าฉันไม่ทำล่ะ? เมื่อเราใช้.append
ฟังก์ชันเพื่อขยายรายการใน python เราไม่จำเป็นต้องรู้ขนาดสุดท้ายล่วงหน้า ฉันสงสัยว่ามีบางอย่างที่คล้ายกันสำหรับการสร้างอาร์เรย์ที่ใหญ่กว่าจากอาร์เรย์ขนาดเล็กโดยเริ่มต้นด้วยอาร์เรย์ว่างเปล่า
x = numpy.array()
เดียวกับวิธีที่เราทำในรายการเช่นy = []
; แต่มันใช้ไม่ได้
[i for i in range(5)]
อนึ่งตัวอย่างรหัสแรกของคุณสามารถเขียนได้อย่างเรียบร้อยและชัดถ้อยชัดคำเป็นความเข้าใจของรายการ: (เทียบเท่า:list(range(5))
แม้ว่านี่จะเป็นตัวอย่างที่สร้างขึ้น)