numpy 从入门到遗忘
不常用的函数总是遗忘,很是困扰啊。于是痛下时间,做一个系统的总结,纯原创,都是些实际项目中常用的函数和方法,当然还有一些这边也是没有记录的,因为我在实际数据处理过程中也没有遇到过(如字符串处理等等)。
创建基本ndarray类实例:
import numpy as np np.array(object, dtype=None, copy=True, order='K', subok=False, ndmin=0)
| 序号 | 参数及描述 |
|---|---|
| 1. | object 任何暴露数组接口方法的对象都会返回一个数组或任何(嵌套)序列。 |
| 2. | dtype 数组的所需数据类型,可选。 |
| 3. | copy 可选,默认为true,对象是否被复制。 |
| 4. | order C(按行)、F(按列)或A(任意,默认)。 |
| 5. | subok 默认情况下,返回的数组被强制为基类数组。 如果为true,则返回子类。 |
| 6. | ndimin 指定返回数组的最小维数。 |
数据类型:
分为三大类:整型,浮点型,python对象。
import numpy as np
np.array("str",dtype=np.unicode) # 举个栗子,字典,集合等等均可
np.array([1,2,3],dtype=np.int32)
np.array([1,2,3],dtype=np.float32)
数组属性:
ndarray.shape
ndarray.reshape(shape) # 等同于np.reshape(a,newshape),且要注意shape中的-1表示根据剩下的维度计算得出。
ndarray.ndim # 返回数组维度
创建例程:
np.zeros(shape,dtype=float)
np.ones(shape,dtype=None)
np.arange(start,stop,step,dtype) # 注意点stop值取不到
numpy.linspace(start, stop, num, endpoint=True, retstep, dtype) # endpoint为True 则包含stop值
numpy.logspace(start, stop, num, endpoint, base, dtype)
切片和索引:
解释起来比较复杂,最常用的操作之一,划重点,涵盖的信息量很大。
a = np.zeros((2,3)) # 简单索引
a[:,:]
a[1:,:2] # 整数索引
a[[0,1],:]
a[:,[0,1,2]] # 布尔索引 # 自己的理解,矩阵相乘,非点积
a = np.array([[ 0, 1, 2],[ 3, 4, 5],[ 6, 7, 8],[ 9, 10, 11]])
print(a>5)
print(a[a>5])
>>>[[False False False]
[False False False]
[ True True True]
[ True True True]]
>>>[ 6 7 8 9 10 11]
数组操作:
np.reshape(a,newshape)
np.linalg.inv() # 矩阵的逆
ndarray.T
np.expand_dims(a, axis) # 增加维度,其实我觉得reshape完全够用
### 数组连接
np.concatenate((a1, a2, ...), axis=0, out=None) # 沿着现存的轴连接数据序列
np.stack(arrays, axis=0, out=None) # 沿着新轴连接数组序列
np.hstack(tup) # 水平堆叠序列中的数组
np.vstack(tup) # 竖直堆叠序列中的数组
### 添加/删除数组
np.append(arr, values, axis=None)
np.insert(arr, obj, values, axis=None)
np.delete(arr, obj, axis=None) # 删除指定索引元素
算术运算:
np.power() # np.power(a,2)
np.sqrt()
np.abs()
np.add()
np.subtract()
np.divide()
np.multiply()
# 矩阵运算
np.dot() # 线代的点积。如果输入都为1D,计算内积。如果输入多维,那么必须满足矩阵乘积维数要求
np.matmul() # 好像和np.dot()一样
统计运算:
np.mean()
np.sum()
np.std() # 标准差
np.var() # 方差
np.round(a, decimals=0, out=None) # 保留几位小数
np.max() np.min() np.sort()
np.argmax() np.argmin() np.argsort()
numpy 从入门到遗忘的更多相关文章
- 数据分析与展示——NumPy库入门
这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...
- numpy快速入门
numpy快速入门 numpy是python的科学计算的核心库,很多更高层次的库都基于numpy.博主不太喜欢重量级的MATLAB,于是用numpy进行科学计算成为了不二选择. 本文主要参考Scipy ...
- Python数据分析与展示(1)-数据分析之表示(1)-NumPy库入门
Numpy库入门 从一个数据到一组数据 维度:一组数据的组织形式 一维数据:由对等关系的有序或无序数据构成,采用线性方式组织. 可用类型:对应列表.数组和集合 不同点: 列表:数据类型可以不同 数组: ...
- NumPy简单入门教程
# NumPy简单入门教程 NumPy是Python中的一个运算速度非常快的一个数学库,它非常重视数组.它允许你在Python中进行向量和矩阵计算,并且由于许多底层函数实际上是用C编写的,因此你可以体 ...
- NumPy快速入门笔记
我正以Python作为突破口,入门机器学习相关知识.出于机器学习实践过程中的需要,我快速了解了一下NumPy这个科学计算库的使用方法.下面记录相关学习笔记. 简介 NumPy是一个科学计算库.结合Py ...
- numpy简单入门
声明:本文大量参考https://www.dataquest.io/mission/6/getting-started-with-numpy(建议阅读原文) 读取文件 有一个名为world_alc ...
- Numpy快速入门——shape属性,你秒懂了吗
前言 对于学习NumPy(Numeric Python),首先得明确一点是:Numpy 是用来处理矩阵数组的. shape 属性 对于shape函数,官方文档是这么说明: the dimensions ...
- 数据分析之Numpy库入门
1.列表与数组 在python的基础语言部分,我们并没有介绍数组类型,但是像C.Java等语言都是有数组类型的,那python中的列表和数组有何区别呢? 一维数据:都表示一组数据的有序结构 区别: 列 ...
- 机器学习 Numpy库入门
2017-06-28 13:56:25 Numpy 提供了一个强大的N维数组对象ndarray,提供了线性代数,傅里叶变换和随机数生成等的基本功能,可以说Numpy是Scipy,Pandas等科学计算 ...
随机推荐
- Luogu T29912 fuck
这是QZEZ的Luogu团队中的一道难得的水题,题面和数据都是CJJ dalao出的,然后我就没有太看懂题意. 也是一道经典的割点好题,但需要一定的思维. 首先对于题意,它只需要得到切断的作用就可以了 ...
- Luogu P2002 消息扩散&&P1262 间谍网络
怕自己太久没写Tarjan了就会把这种神仙算法忘掉. 其实这种类型的图论题的套路还是比较简单且显然的. P2002 消息扩散 很显然的题目,因为在一个环(其实就是强连通分量)中的城市都只需要让其中一个 ...
- P4099 [HEOI2013]SAO
P4099 [HEOI2013]SAO 贼板子有意思的一个题---我()竟然没看题解 有一张连成树的有向图,球拓扑序数量. 树形dp,设\(f[i][j]\)表示\(i\)在子树中\(i\)拓扑序上排 ...
- ML.NET 示例:二元分类之用户评论的情绪分析
写在前面 准备近期将微软的machinelearning-samples翻译成中文,水平有限,如有错漏,请大家多多指正. 如果有朋友对此感兴趣,可以加入我:https://github.com/fei ...
- linux journalctl 命令
目录 Help 输出所有的日志记录 匹配(match) 把日志保存到文件中 限定日志所能占用的最高容量 查看某次启动后的日志 查看指定时间段的日志 同时应用 match 和时间过滤条件 按 unit ...
- 对于ps基本操作的归纳
1.开始新的制作 1)新建 快捷键:Ctrl+n 格式:宽高根据要求自选:颜色模式常用R(红)G(绿)B(蓝) 2)打开电脑上的图片 快捷键:Ctrl+o 2.选框工具 快捷键:M 作用:能 ...
- linux及安全第三周总结——跟踪分析LINUX内核的启动过程
linux内核目录结构 arch目录包括了所有和体系结构相关的核心代码.它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的子目录.PC机一 ...
- <构建之法>8,9,10章的读后感
第八章 这一章主要讲的是需求分析,主要介绍在客户需求五花八门的情况下,软件团队如何才能准确而全面地找到这些需求. 第九章 问题:我们现在怎样培养才能成为一名合格的PM呢? 第十章 问题:如果典型用户吴 ...
- shell脚本--文件查找之find命令
首先是通过文件名称来查找,需要使用一个-name参数. 查询以 .txt结尾的文件,和以 t 开头的文件: ubuntu@ubuntu:~/test$ ls one.txt three.txt tw ...
- Linux初学笔记---关于进程管理等
菜鸟初学: 1. 查看进程用的命令: ps 具体用法 ps -A ro ps -e 显示所有进程 ps -u root 显示root 用户的进程 ps -u root -N 显示非root用户的进程 ...