对数值计算numpy的一些总结,感兴趣的朋友可以看看
1.NumPy
1. 创建数组
- 从python列表中创建
- 其他方式创建
2. NumPy数组基础
-
1.numpy数组的基本属性
- 大小:size
- 形状:shape
- 维度:ndim
- 数据类型:dtype
-
2.数组索引(可写成负数):获取单个元素
- 一维数组:([2])
- 二维数组:([2,3])
-
3.数组切片:获取子数组
-
一维数组:([start :stop :step])
-
二维数组:([start :stop :step],[start :stop :step])
-
如何获取行和列?
- 获取行时可以省略列的索引
-
非副本视图的子数组
- 说白了就是切片操作不是建立新的数组
-
创建数组副本 :在子数组上修改数据原数组上不会改变
- .copy
-
-
4.数组的变形
- .reshape
- .newaxis
- np.newaxis
-
5.数组的拼接和分裂
-
1.拼接
-
1.np.concatenate([x], [y])
-
拼接一维没啥说的
-
拼接二维
- 上下拼接:沿着第一个轴拼接,即axis=0(可不写)
- 左右拼接:沿着第二个轴拼接,即axis=1(写)
-
-
2.np.vstack([x], [y])
-
3.np.hstack([x], [y])
-
4.np.dstck沿着第三维度拼接数组
-
-
2.分裂。注意:N个分裂点会得到N+1个子数组
- x1, x2, x3 = np.split(x, [3, 5])
- np.hsplit用法同上
- np.vsplit同上
-
3.numpy数组的计算:通用函数
-
1.通用函数有哪些?
- 1.加,减,乘,除,绝对值,逻辑非,指数,取余。。。
-
2.高级的通用函数特性
-
1.指定输出
-
2.聚合
- np.add.reduce(x)
-
3.外积
- x = np.arange(1, 6),np.multiply.outer(x, x), 输出结果是一个5×5的数组
-
unfunc.at,ufunc.reduceat 看花哨的索引那一章
-
4.聚合:最小值,最大值,和其他值
- 1.数组值求和
- 2.最小值和最大值
- 3.其他聚合函数
5.数组的计算:广播
- 1.广播的规则
- 2.广播实际应用
6.比较,掩码和布尔逻辑
-
1.和通用函数类似的比较操作
-
2.操作布尔数组
- 1.统计个数
- 2.布尔运算
-
3.将布尔数组作为掩码
7.花哨的索引,用来索引多个值
-
1.探索花哨的索引
- 1.单维索引
- 2.多维索引
-
2.组合索引
- 1.与简单索引组合
- 2.与切片组合
- 3.与掩码组合
-
3.用花哨的索引该值
8.数组的排序
-
1.快速排序
-
np.sort
-
np.argsort
- 花哨的索引
- axis
-
-
2.部分排序:分隔
- np.partition(x, 3)
- np.argpartition
9.结构化数据:numpy的结构化数组
- 1.生成结构化数组
- 2.更高级的复合类型
- 3.记录数组:结构化数组的扭转