1.6. 获取帮助和查找文档¶
作者: Emmanuelle Gouillart
与其了解 NumPy 和 SciPy 中的所有函数,不如快速找到有关文档和可用帮助的信息。以下是一些获取信息的方法
在 Ipython 中,
help function
会打开函数的文档字符串。只需输入函数名称的开头并使用制表符补全即可显示匹配的函数。In [1]: help(np.van<TAB> In [2]: help(np.vander) Help on _ArrayFunctionDispatcher in module numpy: vander(x, N=None, increasing=False) Generate a Vandermonde matrix. The columns of the output matrix are powers of the input vector. The order of the powers is determined by the `increasing` boolean argument. Specifically, when `increasing` is False, the `i`-th output column is the input vector raised element-wise to the power of ``N - i - 1``. Such a matrix with a geometric progression in each row is named for Alexandre- Theophile Vandermonde. Parameters ---------- x : array_like 1-D input array. N : int, optional Number of columns in the output. If `N` is not specified, a square array is returned (``N = len(x)``). increasing : bool, optional Order of the powers of the columns. If True, the powers increase from left to right, if False (the default) they are reversed. .. versionadded:: 1.9.0 Returns ------- out : ndarray Vandermonde matrix. If `increasing` is False, the first column is ``x^(N-1)``, the second ``x^(N-2)`` and so forth. If `increasing` is True, the columns are ``x^0, x^1, ..., x^(N-1)``. See Also -------- polynomial.polynomial.polyvander Examples -------- >>> import numpy as np >>> x = np.array([1, 2, 3, 5]) >>> N = 3 >>> np.vander(x, N) array([[ 1, 1, 1], [ 4, 2, 1], [ 9, 3, 1], [25, 5, 1]]) >>> np.column_stack([x**(N-1-i) for i in range(N)]) array([[ 1, 1, 1], [ 4, 2, 1], [ 9, 3, 1], [25, 5, 1]]) >>> x = np.array([1, 2, 3, 5]) >>> np.vander(x) array([[ 1, 1, 1, 1], [ 8, 4, 2, 1], [ 27, 9, 3, 1], [125, 25, 5, 1]]) >>> np.vander(x, increasing=True) array([[ 1, 1, 1, 1], [ 1, 2, 4, 8], [ 1, 3, 9, 27], [ 1, 5, 25, 125]]) The determinant of a square Vandermonde matrix is the product of the differences between the values of the input vector: >>> np.linalg.det(np.vander(x)) 48.000000000000043 # may vary >>> (5-3)*(5-2)*(5-1)*(3-2)*(3-1)*(2-1) 48
在 Ipython 中无法为帮助和文档打开一个单独的窗口;但是,始终可以打开第二个 Ipython
shell 仅用于显示帮助和文档字符串……
NumPy 和 SciPy 的文档可以在 https://scipy.org.cn 和 https://numpy.com.cn 上在线浏览。这两个包的参考文档中,
search
按钮非常有用。本网站提供了有关各种主题的教程,以及包含所有文档字符串的完整 API。
NumPy 和 SciPy 的文档由用户在维基页面 https://numpy.com.cn/doc/stable/ 上定期丰富和更新。因此,某些文档字符串在维基页面上更清晰或更详细,您可能希望直接阅读维基页面上的文档,而不是官方文档网站。请注意,任何人都可以在维基页面上创建帐户并编写更好的文档;这是一种简单的方法,可以为开源项目做出贡献并改进您正在使用的工具!
SciPy Cookbook https://cookbook.scipy.org.cn 提供了许多常见问题的解决方案,例如拟合数据点、求解 ODE 等。
Matplotlib 网站 https://matplotlib.net.cn/ 拥有一个非常棒的画廊,其中包含大量图表,每个图表都同时显示源代码和生成的图表。这对于通过示例学习非常有用。还提供更标准的文档。
在 Ipython 中,神奇函数
%psearch
搜索与模式匹配的对象。例如,如果不知道函数的确切名称,这将非常有用。In [3]: import numpy as np
如果上述所有方法都失败(并且 Google 也无法找到答案)… 不要绝望!有一个充满活力的科学 Python 社区。科学 Python 存在于各种平台上。 https://scientific-python.cn/community/
像 SciPy 和 NumPy 这样的包也有自己的频道。请查看其各自的网站,了解如何与用户和维护者互动。