注意:我查了重复问题,但没有找到能清晰回答我的问题的内容。如果我漏看了什么,请务必告诉我!
为了整理我的代码,我一直在寻找导入SciPy和NumPy的标准规范。我知道没有严格的指南,我可以按照自己的方式操作,但有时我仍然会发现相互矛盾的指令。
例如,我曾经在某个地方读到,NumPy只用于实现数组对象,而SciPy则用于其他所有科学算法。因此,应该使用NumPy进行数组操作,使用SciPy进行其他操作...另一方面,SciPy在其主命名空间中导入了所有Numpy函数,因此scipy.array()
与numpy.array()
是一样的(细节请见这个问题),因此仅当不使用SciPy时才应使用NumPy,因为它们是重复的...
使用SciPy和NumPy的推荐方式是什么?作为一名科学家,sqrt(-1)
应该返回一个复数,所以我倾向于只使用SciPy。
目前,我的代码开头是:
import numpy as np
from scipy import *
from matplotlib import pyplot as plt
我使用scipy进行数学运算(例如log10()
),使用numpy创建/操作数组(例如np.zeros()
)。只使用Scipy而不显式导入NumPy是否可行?未来的更新是否会从Scipy中移除NumPy的数组操作?
numpy.lib.scimath
获取这些函数的变体,因为它们在那里被定义,而不是从scipy获取。 - Robert Kern