2017.7.12 && 笔记
来源:互联网 发布:linux find type f 编辑:程序博客网 时间:2024/05/16 02:46
1.对于多维数组,其维数axis值为:0,1,2……
是从内层往外数
>>> b = np.arange(12).reshape(3,4)>>> barray([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]])>>>>>> b.sum(axis=0) # sum of each columnarray([12, 15, 18, 21])>>>>>> b.min(axis=1) # min of each rowarray([0, 4, 8])
2.创造ndarray时,fromfunction的应用
>>> def f(x,y):... return 10*x+y...>>> b = np.fromfunction(f,(5,4),dtype=int)>>> barray([[ 0, 1, 2, 3], [10, 11, 12, 13], [20, 21, 22, 23], [30, 31, 32, 33], [40, 41, 42, 43]]
在上面的表达式中,(5,4)分别表示x, y的取值范围和矩阵的形状,即x取 0 1 2 3 4。Y取0 1 2 3 通过计算得到的矩阵为下面显示的矩阵
3.整数索引和切片一起使用时,会导致数组降维
4.创建数组中的floor函数
a = floor(10*random.random((3,4)))array([[ 7., 5., 9., 3.], [ 7., 2., 7., 8.], [ 6., 8., 3., 2.]])
是求数组每个元素的向下取整
5.np.ravel()把数组的所有元素变为一维,一字排开。但并不改变原数组的shape…. np.reshape()也是
由 ravel() 展平的数组元素的顺序通常是“C风格”的,就是说,最右边的索引变化得最快,所以元素a[0,0]之后是a[0,1]。如果数组被改变形状(reshape)成其它形状,数组仍然是“C风格”的。NumPy通常创建一个以这个顺序保存数据的数组,所以 ravel() 将总是不需要复制它的参数 3 。但是如果数组是通过切片其它数组或有不同寻常的选项时,它可能需要被复制。函数 reshape() 和 ravel() 还可以被同过一些可选参数构建成FORTRAN风格的数组,即最左边的索引变化最快。
resize()函数,改变数组本身
6.ndarray组合
对那些维度比二维更高的数组, hstack 沿着第二个轴组合, vstack 沿着第一个轴组合, concatenate 允许可选参数给出组合时沿着的轴
呆会举个例子
7.np.r_[]
>>> np.r_['0,2,0', [1,2,3], [4,5,6]]array([[1], [2], [3], [4], [5], [6]])>>> np.r_['1,2,0', [1,2,3], [4,5,6]]array([[1, 4], [2, 5], [3, 6]])
提供一种看参数的方法:先看‘a, b, c‘…….先看b,代表堆积以后至少是多少维,再看c,是否要对后面的数组进行维度提升的方向。在这个例子中,因为至少为2维,所以后面数组要由(3,)提升为(3,1)。最后看a,是沿着那根轴堆积
8.
>>> palette = np.array( [ [0,0,0], # black... [255,0,0], # red... [0,255,0], # green... [0,0,255], # blue... [255,255,255] ] ) # white>>> image = np.array( [ [ 0, 1, 2, 0 ], # each value corresponds to a color in the palette... [ 0, 3, 4, 0 ] ] )>>> palette[image] # the (2,4,3) color imagearray([[[ 0, 0, 0], [255, 0, 0], [ 0, 255, 0], [ 0, 0, 0]], [[ 0, 0, 0], [ 0, 0, 255], [255, 255, 255], [ 0, 0, 0]]])
用多维索引切片多维数组,总是从被切的数组的第一维切
- 2017.7.12 && 笔记
- 笔记12
- 笔记12
- 笔记12
- 笔记2017.7.7
- 2017.7.13 && 笔记
- AD学习笔记12
- Java学习笔记12
- stl 学习笔记 12
- 08-12月笔记
- Spring学习笔记12
- Groovy笔记(12)_Groovlet
- 12月笔记
- 12 PowerDesigner学习笔记
- 每日学习笔记(12)
- 《数据结构》学习笔记12
- Perl 学习笔记 --- 12
- 2012.4.12笔记
- 关于Java的学习工具书的选择。
- 常用库
- cocos main.cpp
- SAE J1939 协议源代码分析(零)-源代码下载
- ios实现视图的拖拽、缩放、旋转
- 2017.7.12 && 笔记
- 微信支付-商户后台(1)
- thinkPHP,怎么把json文件里面的数据导入数据库
- log4cpp编译错误整理
- ios分类(Categories)和类扩展(Extensions)的区别
- Java基础(三)重载和重写
- 事件对象
- java实现对称加密
- 《软件设计师教程最新版(第三版》