Hinweis: Ich habe nach Duplikaten gesucht und nichts beantwortet meine Frage eindeutig. Ich hoffe, du wirst mich wissen lassen, wenn ich etwas verpasst habe!SciPy/NumPy Importrichtlinie
In dem Bemühen, meinen Code aufzuräumen, habe ich nach einer Standardkonvention für den Import von SciPy und NumPy in meinen Programmen gesucht. Ich weiß, dass es keine strenge Richtlinie gibt und ich kann es so machen, wie ich es möchte, aber von Zeit zu Zeit finde ich immer noch widersprüchliche Anweisungen.
Zum Beispiel habe ich irgendwo gelesen, dass NumPy nur das Array-Objekt implementieren soll, während SciPy für alle anderen wissenschaftlichen Algorithmen da ist. Also NumPy sollte für Array-Betrieb und SciPy für alles andere verwendet werden ... Auf der anderen Seite importiert SciPy jede Numpy-Funktionen in seinem Hauptnamespace, so dass scipy.array()
ist das gleiche wie numpy.array()
(see this question), so NumPy sollte nur sein Wird verwendet, wenn SciPy nicht verwendet wird, da es sich um Duplikate handelt ...
Wie wird empfohlen, mit SciPy und NumPy zu arbeiten? Ein Wissenschaftler, sqrt(-1)
sollte eine komplexe Zahl zurückgeben, also bin ich geneigt, nur mit SciPy zu gehen.
Gerade jetzt beginnt mein Code mit:
import numpy as np
from scipy import *
from matplotlib import pyplot as plt
I scipy für mathematische Operation (wie log10()
) und numpy für Array-Erstellung/Operationen (wie np.zeros()
) verwenden. Wäre es in Ordnung, den ganzen Weg mit SciPy zu gehen und niemals NumPy explizit zu importieren? Wird ein zukünftiges Update die Array-Manipulation von NumPy von SciPy entfernen?
Ich würde empfehlen, diese Varianten der Funktionen direkt von 'numpy.lib.scimath' zu erhalten, wo sie definiert sind, anstatt von scipy. –