2015-05-29 15 views

Trả lời

10

numpy.fromfunction phù hợp với hóa đơn tại đây.

Ví dụ từ doc:

>>> import numpy as np 
>>> np.fromfunction(lambda i, j: i + j, (3, 3), dtype=int) 
array([[0, 1, 2], 
    [1, 2, 3], 
    [2, 3, 4]]) 
+0

Tuyệt vời, cảm ơn bạn. –

+6

Cảnh báo: tài liệu không giải thích rõ ràng, nhưng 'np.fromfunction (f, hình dạng, dtype = dtype)' là một trình bao bọc mỏng xung quanh 'f (* np.indices (hình dạng, dtype = dtype))'. Nó không thực hiện một cuộc gọi riêng lẻ đến 'f' cho mỗi ô, vì vậy nếu bạn truyền một hàm không hoạt động theo cách được vector hóa, bạn sẽ nhận được các kết quả lạ và sai. – user2357112

1

Người ta cũng có thể nhận được các chỉ số của mảng của bạn với numpy.indices và sau đó áp dụng các chức năng f trong một thời trang vectorized,

import numpy as np 

shape = 1000, 1000 

Xi, Yj = np.indices(shape) 

A = (2*Xi + 3*Yj).astype(np.int) # or any other function f(Xi, Yj) 
Các vấn đề liên quan