numpy
Posted 你好,小帝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了numpy相关的知识,希望对你有一定的参考价值。
创建ndarray
1. 使用np.array()由python list创建
参数为列表: [1, 4, 2, 5, 3]
注意:
- numpy默认ndarray的所有元素的类型是相同的
- 如果传进来的列表中包含不同的类型,则统一为同一类型,优先级:str>float>int
ndarray的属性
4个必记参数: ndim:维度 ,shape:形状(各维度的长度), size:总长度, dtype:元素类型
ndarray的基本操作
级联
- np.concatenate() 级联需要注意的点:
- 级联的参数是列表:一定要加中括号或小括号
- 维度必须相同
- 形状相符
- 【重点】级联的方向默认是shape这个tuple的第一个值所代表的维度方向
- 可通过axis参数改变级联的方向
- np.hstack与np.vstack
水平级联与垂直级联,处理自己,进行维度的变更 -
切分
与级联类似,三个函数完成切分工作:
- np.split
- np.vsplit #竖直切分行
- np.hsplit
-
#axis = 0 默认,切分行,
#axis = 1 ,切分列
ndarray的聚合操作
1. 求和np.sum
2. 最大最小值:np.max/ np.min
ndarray的矩阵操作
1. 基本矩阵操作
1) 算术运算符:
- 加减乘除
2) 矩阵积np.dot()
2. 广播机制
【重要】ndarray广播机制的两条规则
- 规则一:为缺失的维度补1
- 规则二:假定缺失元素用已有值填充
例1: m = np.ones((2, 3)) a = np.arange(3) 求M+a
1. 快速排序
np.sort()与ndarray.sort()都可以,但有区别:
- np.sort()不改变输入
- ndarray.sort()本地处理,不占用空间,但改变输入
2. 部分排序
np.partition(a,k)
有的时候我们不是对全部数据感兴趣,我们可能只对最小或最大的一部分感兴趣。
- 当k为正时,我们想要得到最小的k个数
- 当k为负时,我们想要得到最大的k个数
以上是关于numpy的主要内容,如果未能解决你的问题,请参考以下文章