Lưu ý: Tôi đã kiểm tra trùng lặp và không có câu trả lời nào rõ ràng cho câu hỏi của tôi. Tôi tin rằng bạn sẽ cho tôi biết nếu tôi bỏ lỡ một cái gì đó!Hướng dẫn nhập khẩu SciPy/NumPy
Trong nỗ lực dọn sạch mã của mình, tôi đã tìm kiếm một quy ước chuẩn để nhập SciPy và NumPy trong các chương trình của tôi. Tôi biết không có hướng dẫn nghiêm ngặt và tôi có thể làm theo cách tôi muốn, nhưng theo thời gian, tôi vẫn thấy những hướng dẫn mâu thuẫn.
Ví dụ, tôi đã đọc ở đâu đó rằng NumPy chỉ nhằm thực hiện đối tượng mảng, trong khi SciPy có sẵn cho mọi thuật toán khoa học khác. Vì vậy, NumPy nên được sử dụng cho hoạt động mảng và SciPy cho mọi thứ khác ... Mặt khác, SciPy nhập khẩu mọi chức năng Numpy trong không gian tên chính của nó, chẳng hạn như scipy.array()
tương tự như numpy.array()
(see this question), vì vậy chỉ nên được sử dụng khi SciPy không được sử dụng, vì chúng là các bản sao ...
Cách được khuyến nghị để làm việc với SciPy và NumPy là gì? Là một nhà khoa học, sqrt(-1)
phải trả về một số phức tạp, vì vậy tôi chỉ muốn đi với SciPy.
Ngay bây giờ, mã của tôi bắt đầu với:
import numpy as np
from scipy import *
from matplotlib import pyplot as plt
tôi sử dụng scipy cho phép toán (chẳng hạn như log10()
) và NumPy để tạo mảng/hoạt động (chẳng hạn như np.zeros()
). Nó sẽ là tốt để đi tất cả các cách với SciPy và không bao giờ nhập khẩu NumPy một cách rõ ràng? Một bản cập nhật trong tương lai có thể loại bỏ thao tác mảng của NumPy khỏi SciPy không?
Tôi khuyên bạn nên nhận các biến thể đó của các hàm trực tiếp từ 'numpy.lib.scimath', nơi chúng được xác định, thay vì từ scipy. –