python numpy 记录
NumPy Reference
https://numpy.org/doc/stable/reference/
Interaction with NumPy
https://docs.scipy.org/doc/scipy/reference/tutorial/basic.html
CS231n课程笔记翻译:Python Numpy教程
https://zhuanlan.zhihu.com/p/20878530?refer=intelligentunit
NumPy 百题大冲关
https://www.lanqiao.cn/courses/1090
利用Python进行数据分析
NumPy 官网 http://www.numpy.org/
NumPy 源代码:https://github.com/numpy/numpy
SciPy 官网:https://www.scipy.org/
SciPy 源代码:https://github.com/scipy/scipy
Matplotlib 官网:https://matplotlib.org/
Matplotlib 源代码:https://github.com/matplotlib/matplotlib
NumPy 应用
NumPy 通常与 SciPy(Scientific Python)和 Matplotlib(绘图库)一起使用, 这种组合广泛用于替代 MatLab,是一个强大的科学计算环境,有助于我们通过 Python 学习数据科学或者机器学习。
SciPy 是一个开源的 Python 算法库和数学工具包。
SciPy 包含的模块有最优化、线性代数、积分、插值、特殊函数、快速傅里叶变换、信号处理和图像处理、常微分方程求解和其他科学与工程中常用的计算。
Matplotlib 是 Python 编程语言及其数值数学扩展包 NumPy 的可视化操作界面。它为利用通用的图形用户界面工具包,如 Tkinter, wxPython, Qt 或 GTK+ 向应用程序嵌入式绘图提供了应用程序接口(API)。
numpy中reshape方法详解
https://numpy.org/doc/stable/reference/generated/numpy.reshape.html
这个方法是在不改变数据内容的情况下,改变一个数组的格式
2、newshape : 新的格式——整数或整数数组,如(2,3)表示2行3列。新的形状应该与原来的形状兼容,即行数和列数相乘后等于a中元素的数量。如果是整数,则结果将是长度的一维数组,所以这个整数必须等于a中元素数量。若这里是一个整数数组,那么其中一个数据可以为-1。在这种情况下,这个个值python会自动从根据第二个数值和剩余维度推断出来。
其他语言的用户会对轴的指定方式比较困惑。axis 关键字指定的
是数组将会被折叠的维度,而不是将要返回的维度。因此指定
axis=0 意味着第一个轴将要被折叠——对于二维数组,这意味着
每一列的值都将被聚合。
numpy shape 解析
a = np.arange(3)
a = array([0, 1, 2])
a.shape = (3,)
M = np.ones((2, 3))
M = array([[1., 1., 1.],
[1., 1., 1.]])
M.shape = (2, 3)
每个数组有 nidm(数组的维度)、shape(数组每个维度的大小)和
size(数组的总大小)属性:
page123
np.newaxis 解析
a = np.arange(3)
a = array([0, 1, 2])
a.shape
a[:, np.newaxis]
2.2.3 数组切片:获取子数组
2.2 节
x[start:stop:step]
如果以上 3 个参数都未指定,那么它们会被分别设置默认值 start=0、
stop= 维度的大小(size of dimension)和 step=1。我们将详细介
绍如何在一维和多维数组中获取子数组。
x2 = np.array([[12, 5, 2, 4],
[ 7, 6, 8, 8],
[ 1, 6, 7, 7]])
x2[:,:]
x2[:, 0]
x2[0:4:1,0:4:1]
x2[0:4:1,0]
array([12, 7, 1])