Tôi đang cố lập chỉ mục một số numpy.array với các thứ nguyên khác nhau trong thời gian chạy. Để truy xuất ví dụ: hàng đầu tiên của một mảng * m a
, bạn chỉ có thể làmLập chỉ mục một chiều numpy.array làm ma trận
a[0,:]
Tuy nhiên, trong trường hợp một sẽ xảy ra là một vector 1xN, mã này trên trả về một lỗi index:
IndexError: too many indices
Vì mã cần được thực hiện hiệu quả nhất có thể nên tôi không muốn giới thiệu câu lệnh if
. Có ai có một giải pháp thuận tiện mà lý tưởng không liên quan đến việc thay đổi bất kỳ loại cấu trúc dữ liệu?
Bạn chỉ có mảng 1 và 2? – Paul
Đơn giản chỉ cần định hình lại mảng thành mảng 2n 1xn thay vì đếm mảng nd chiều dài 1d là "thay đổi kiểu cấu trúc dữ liệu"? –
Tất cả những điều này là các mảng 2D (mxn) về mặt lý thuyết, một số chỉ vui vẻ là các mảng 1xn, ví dụ: m = 1. Trong thực tế, chúng đại diện cho các bảng xác suất có điều kiện và trường hợp m = 1 tương ứng với một biến không có bất kỳ phụ thuộc nào. – Alain