2012-12-18 43 views
5

tôi lấy lát ndarray với độ dài khác nhau và tôi muốn kết quả của tôi là phẳng. Ví dụ:Làm thế nào để san bằng một mảng NumPy của đối tượng dtype

a = np.array(((np.array((1,2)), np.array((1,2,3))), (np.array((1,2)), np.array((1,2,3,4,5,6,7,8))))) 

Có cách nào thẳng để làm cho mảng này phẳng bằng cách sử dụng chức năng NumPy (không vòng lặp)?

+0

Trong ví dụ này, những gì bạn mong đợi kết quả được? – NPE

+2

Sử dụng một mảng NumPy của dtype 'đối tượng' không giúp tăng tốc mọi thứ. Chúng tương tự như các danh sách Python, và chúng chỉ hữu ích nếu bạn cần một cái gì đó trưng bày cùng một giao diện như một mảng NumPy. Mục tiêu của bạn là gì khi sử dụng cấu trúc dữ liệu lạ này? –

+0

Tôi có thẻ cho tín hiệu của tôi trong khoảng thời gian ngẫu nhiên. Cắt lát trả lại cho tôi loại này (vì khi lát có độ dài khác nhau). – jgrynczewski

Trả lời

11

Làm thế nào về:

In [23]: np.hstack(a.flat) 
Out[23]: array([1, 2, 1, 2, 3, 1, 2, 1, 2, 3, 4, 5, 6, 7, 8]) 
+0

Hoạt động. Cảm ơn bạn – jgrynczewski

Các vấn đề liên quan