Là một phần của chương trình rộng hơn tôi đang làm việc, tôi đã kết thúc với mảng đối tượng với chuỗi, tọa độ 3D và vv. Tôi biết mảng đối tượng có thể không được yêu thích nhiều so với mảng có cấu trúc nhưng tôi hy vọng để có được khoảng này mà không thay đổi rất nhiều mã.Làm thế nào để chuyển đổi một mảng Numpy 2D với đối tượng dtype thành một mảng 2D thông thường float
Cho phép giả định mỗi hàng của obj_array mảng của tôi (với N hàng) có dạng của
Single entry/object of obj_array: ['NAME',[10.0,20.0,30.0],....]
Bây giờ, tôi đang cố gắng để tải mảng đối tượng này và cắt phối hợp 3D đoạn. Đến đây, mọi thứ hoạt động tốt chỉ đơn giản là yêu cầu cho phép nói.
obj_array[:,[1,2,3]]
Tuy nhiên kết quả cũng là một mảng đối tượng và tôi sẽ phải đối mặt với vấn đề như tôi muốn để tạo thành một mảng 2D phao với:
size [N,3] of N rows and 3 entries of X,Y,Z coordinates
Còn bây giờ, tôi đang Looping trên hàng và giao hàng hàng tới một hàng của một mảng đích 2D để giải quyết vấn đề. Tôi tự hỏi nếu có bất kỳ cách nào tốt hơn với các công cụ chuyển đổi mảng của numpy? Tôi đã thử một vài thứ và không thể xoay xở được.
Centers = np.zeros([N,3])
for row in range(obj_array.shape[0]):
Centers[row,:] = obj_array[row,1]
Cảm ơn
Bạn có thể hiển thị mã ví dụ đơn giản không - dữ liệu gốc trông như thế nào và mã chuyển đổi của bạn trông như thế nào? Nó sẽ làm cho nó dễ dàng hơn cho một người nào đó để cung cấp cho bạn lời khuyên thích hợp. – Floris