The Basics
ndarray表示数组的名字
ndarray.ndim
表示 数组 的维度。
ndarray.shape
表示 数组 的行 与 列 。
ndarray.size
表示 数组 的大小。
ndarray.dtype
表示 数组元素 的类型,返回一个元组。
ndarray.dtype.name
表示 数组元素 的类型。
ndarray.itemsize
表示 数组元素 的大小,返回元素占内存空间的大小。
Array Creation
创建 数组 要用一个列表初始化,没有列表初始化,会出错。
创建 多维数组 。
创建 复数数组, 用dtype 设置数组元素的类型 complex (复数) int(整数) float(浮点数)。
Zeros 创建 全零的数组。
Ones 创建 全一的数组。
Empty 创建 空数组。
它们的输入都是一个元组,一般用于初始化。
Arange( 起始值 , 终止值 ,步长 )
创建一个 数组 内容是起始值到终止值之间满足步长的所有值。
Linspace( 起始值 , 终止值 , 个数 )
创建一个 数组 内容是把 起始值 至 终止值 平分成多少个元素。
Arange( 数字 ) . Reshape( 元组 )
创建 一维 ,二维 , 三维 的数组。
数组元素的计算 加 减 乘 除 指数 ,运算符两边可以是数组或数字。
创建boolean型数组 : 数组 关系运算符 数字 —-> 输出:boolean数组
c[f] 表示读取原数组中大于某数的全体值。
c[~f] ~表示取反
数组的元素的积 和 数组乘积。
Random.random 生产一个元素在 0 ~~ 1 之间的随机数组。
Linspace 默认的类型是 float64
计算 数组 的和 , 数组的最大值 , 数组的最小值。
按行计算和 , 按行求最大、最小值 ,按行积累和
基本的函数运算。
Indexing, Slicing and Iterating(索引,切片,迭代)
切片 a[ 起始数 : 结束数 ]
替换 a[ 起始值 :结束值 : 步长 ] = 替换值
表示 从起始值开始到结束值 每个迈一个步长 将原来值改为替换值
倒序输出 a[ : : -1 ]
Fromfunction( 函数 , 元组 , 类型)
三个参数 :函数 , 生成数组的方式
元组 , 指定生成的数组的维度
类型 , 数组生成元素的类型
在例子中 x = [ 0 , 1, 2, 3, 4] y = [0, 1, 2, 3] 然后输入函数 输出数组。
对数组的切割 b[ : , : ] 逗号前面是行设置 后面是列设置。
两个数字表示从哪行(列)到哪行(列),一个数表示某行(列)。
若b[ ] 只有一个数字,表示某行。
如
··· 省略符 省略由多个分号和逗号组成的完整索引。
第一个是按行索引,按元素的索引。
天花板函数,floot 把小数变成比它大的最小的整数。
Ravel 把数组 变成 向量。
A.shape = 元组
设置数组的维度
Transpose()
求数组的转置。
设置数组的维度的两种方法 resize( 元组 ) 和 reshape( 维度 )
Vstack( ( 数组1 , 数组2 )) 将两个列相等的数组合并成一个。
如果两个三维数组 (2L,2L,2L) 和 (2L,2L,2L) 应用 vstack 合并后 维度变成(4L,2L,2L)
Vstack 合并高维数组时,只对第一位合并。
另一种方法:
Hstack (( 数组1 , 数组2)) 将两个行相等的数组合并成一个。
如果两个三维数组 (2L,2L,2L) 和 (2L,2L,2L) 应用 hstack 合并后 维度变成(2L,4L,2L)
Hstack 合并高维数组时,只对第二位合并。
注意:合并两个数组时数组的维度一定要匹配。
另一种方法:
数组名[ : , newaxis ] 可以把n 维数组变成 n+1 维数组。
例如:
一维向量 (2L,) —> 二维数组 ( 2L , 1L )
二维数组 (2L , 3L) —> 三维数组 ( 2L , 1L , 3L )
三维数组 (3L , 5L , 6L) —-> 四维数组 (3L , 1L , 5L , 6L)