numpy学习笔记

1.意外收获:ipython工具安装 pip install ipython即可安装, 命令行输入ipython --pylab即可进入pylab模式

2.%hist 命令可以查看命令行历史记录,%logstart,在IPython的pylab模式下,我们可以使用 help 命令打开 NumPy 函数的手册页面。你并不需要知道所有函数的名字,因为可以在键入少量字符后按下Tab键进行自动补全,另一种方法是在函数名后面加一个问号:

3.NumPy数组一般是同质的(但有一种特殊的数组类型例外,它是异质的),即数组中的所有元素类型必须是一致的

4.数组的 shape 属性返回一个元组(tuple),元组中的元素即为NumPy数组每一个维度上的大小。

5.numpy.array([list])把list里面的内容变为数组,若list里面还有数组即为而为数组,array 函数可以依据给定的对象生成数组,给定的对象应是类数组,如Python中的列表

6.对于数组 a ,只需要用 a[m,n] 选取各数组元素,其
中 m 和 n 为元素下标

7.可用数据类型

numpy学习笔记_第1张图片

8.在NumPy中,许多函数的参数中可以指定数据类型,通常这个参数是可选的:
In: arange(7, dtype=uint16)
Out: array([0, 1, 2, 3, 4, 5, 6], dtype=uint16)

9.数据类型对象是 numpy.dtype 类的实例。如前所述,NumPy数组是有数据类型的,更确切
地说,NumPy数组中的每一个元素均为相同的数据类型。数据类型对象可以给出单个数组元素在
内存中占用的字节数,即 dtype 类的 itemsize 属性:
In: a.dtype.itemsize
Out: 8

10.完整的NumPy数据类型列表可以在 sctypeDict.keys() 中找到:

11.reshape 函数的作用是改变数组的“形
状”,也就是改变数组的维度,其参数为一个正整数元组,分别指定数组在每个维度上的大小。
如果指定的维度和数组的元素数目不相吻合,函数将抛出异常

12.将数组展平,我们可以用 ravel 函数完成展平的操作,flatten 这个函数恰如其名, flatten 就是展平的意思,与 ravel 函数的功能相同。
不过, flatten 函数会请求分配内存来保存结果,而 ravel 函数只是返回数组的一个视图(view),除了可以使用 reshape 函数,我们也可以直接用一个正整数元组来设
置数组的维度,如下所示:

transpose 在线性代数中,转置矩阵是很常见的操作

resize resize 和 reshape 函数的功能一样,但 resize 会直接修改所操作的数组

13.组合数组

水平组合 我们先从水平组合开始练习。将 ndarray 对象构成的元组作为参数,传给hstack 函数。concatenate也可以设为1

垂直组合 垂直组合同样需要构造一个元组作为参数,只不过这次的函数变成了vstack,concatenate 函数的 axis 参数设置为0即可实现同样的效果

将相同的元组作为参数传给 dstack 函数,即可完成数组的深度组合

column_stack 函数对于一维数组将按列方向进行组合

当然,NumPy中也有按行方向进行组合的函数,它就是 row_stack 。对于两
个一维数组,将直接层叠起来组合成一个二维数组

 

 

你可能感兴趣的:(深度学习)