Uwaga: sprawdziłem pod kątem duplikatu i nic wyraźnie nie odpowie na moje pytanie. Ufam, że dasz mi znać, jeśli coś przeoczyłem!Wytyczne importu SciPy/NumPy
W celu oczyszczenia mojego kodu, szukałem standardowej konwencji do importowania SciPy i NumPy w moich programach. Wiem, że nie ma ścisłej wytycznej i mogę zrobić to tak, jak chcę, ale od czasu do czasu wciąż znajduję sprzeczne instrukcje.
Na przykład, czytałem gdzieś, że NumPy ma za zadanie tylko implementować obiekt tablicy, podczas gdy SciPy jest dostępny dla wszystkich innych algorytmów naukowych. Tak więc NumPy powinno być używane do obsługi tablic i SciPy do wszystkiego innego ... Z drugiej strony, SciPy importuje wszystkie funkcje Numpy w głównej przestrzeni nazw, tak, że scipy.array()
to to samo, co numpy.array()
(see this question), więc NumPy powinno być tylko używane gdy SciPy nie jest używany, ponieważ są duplikaty ...
Jaki jest zalecany sposób pracy z SciPy i NumPy? Będąc naukowcem, sqrt(-1)
powinien zwracać liczbę zespoloną, więc jestem skłonny iść tylko z SciPy.
Teraz mój kod zaczyna się od:
import numpy as np
from scipy import *
from matplotlib import pyplot as plt
używam scipy dla operacji matematycznej (np log10()
) i numpy do tworzenia tablicy/operacji (takich jak np.zeros()
). Czy byłoby dobrze przejść całą drogę z SciPy i nigdy nie importować NumPy jawnie? Czy przyszła aktualizacja usunie manipulację tablicą NumPy z SciPy?
Polecam pobrać te warianty funkcji bezpośrednio z 'numpy.lib.scimath', gdzie są one zdefiniowane, zamiast z scipy. –