python-数据分析与展示(Numpy、matplotlib、pandas)---1
笔记内容整理自mooc上北京理工大学嵩天老师python系列课程数据分析与展示,本人小白一枚,如有不对,多加指正
1.ndarray对象的属性
.ndim、.shape、.size(元素个数,不是占用内存大小)、.dtype、.itemsize
2.创建ndarray数组的方式
2.1一共有三种np.ndarray()、函数创建法、字节流创建
2.2主要记录一下常用的函数创建ndarray的方法np.arange(n) np.ones(shape) np.zeros(shape) up.full(shape,val) np.eye(n)(n*n单位矩阵,对角线是1,其宇是0)
shape是元组类型,val是数字,ones、zeros、eye默认的元素类型是浮点型,但是可以指定为整形,dtype = int32
2.3np.ones_like(a)、np.zeros_like(a)、np.eye_like(a)生成和a同shape的n维数组
2.4np.linspace()、np.concatenate()、np.logspace()生成ndarray,space注意与np.arange()区分,可以用endpoint=true/false来调整结束点,且默认是浮点数。np库生成的ndarray默认绝大多数都是浮点数,除了np.arange();
2.5ndarray数组的维度变换.reshape(shape) .resize(shape) .swapaxes(ax1,ax2) .flatten(),区别前两个,前者新生成数组,不改变原数组,后者反之,改变原数组,reshape改变形状,但是要保证数组的总的元素个数没有变换,否则改变不了形状(2,3,4)->(3,8)
2.6 .astype(new_type) 此方法创建新数组,但是数据类型会发生变化
2.7 a.tolist()
3.ndarray数组的操作-----索引和切片
3.1 一维数组的索引和切片 a[1:4:2],起始编号:终止编号(不包含):步长,跟space区分,后者一般是包含终止编号的,且第三个参数是个数
3.2多维数组索引a[1,2,3] 切片a[ : , 1, 3] a[ :, 1:3, : ] a[ :, : , ::2 ] ,其实就是每个维度和一维数组切片方式相同
4.ndarray数组的运算
4.1 a.mean()求平均值,a +/-/*//标量 都是作用于数组的每一个元素
4.2 NumPy中元素级一元运算函数 np.abs(x) np.fabs(x) np.sqrt(x) np.square(x) np.log(x) np.log10(x) np.log2(x) np.ceil(x) np.floor(x) np.rint(x) np.modf(x) np.cos(x) np.cosh(x) np.exp(x) np.sign(x)等, 注意a本身不变而是生成新的数组
4.3 NumPy中元素级二元运算函数np.maximum(x,y) np.fmax() np.minimum(x,y) np.fmin() np.mod(x,y) np.copysign(x,y) <>= == != <= >=
5.numpy数据存取
5.1 np.savetxt(frame, array, fmt='%.18e',delimiter=None) 参数依次为文件(可以是.gz或.bz2压缩文件),存入数组,每个数据元素的格式%d,%.2f,%.18e默认是最后,18位小数科学计数法,delimiter是分隔符,csv文件为“,” 例子np.savetxt(‘a.csv’, a, fmt=‘%d’, delimiter=‘,’)
5.2 np.loadtxt(frame,dtype=np.float,delimiter=None,unpack=False) 参数为文件(可以是.gz或.bz2压缩文件),
5.3多维数组的文件存取(前两个特指二维数组)a.tofile(frame,seq='',format='%s') np.fromfile(frame, dtype=float, count=-1,sep='')sep如果是空串,则为二进制文件
5.4多维数据文件存取,要求numpy的文件格式.npy为拓展名 np.save(fname,attay)/np.load(fname)
6.numpy的随机数函数(numpy的random子库)
6.1np.random.rand(x1,x2,x3...), np.random.randn(x1,x2,...)正态分布 np.random.randint(low,high,shape) np.random.seed(s)
6.2随机库的高级函数 shuffle(a) 根据数组a的第一轴进行随机排列,改变数组a, permutation(a) 根据数组a的第一轴进行随机排列,不改变数组a, choice(a[,size,replace,p])
6.3 np.random.uniform(low,high,size)产生具有均匀分布的数组,size为形状,np.random.normal(loc,scale,size)正态分布数组,loc为均值,scale标准差,size形状,np.random.poisson(lam,size)泊松分布
7.numpy的统计函数
7.1 sum(a,axis=None)、mean(a,axis=None)、average(a,axis=None,weights=None)、std(a,axis=None)、var(a,axis=None),mean是期望(即加权平均值),std是标准差,var是方差,axis是轴,即第几维度,从0开始。如果限制在第几维度做运算,就是其他维度相同,这一维度索引不同的元素之间相互运算而得结果
7.2 np.min(a) np.argmin(a)计算数组a中元素的最小值的降一维后的下标,对应有max版本 np.unravel_index(index,shape)根据shape将一维下表index转换成多维下标 np.ptp(a)计算数组中元素最大值和最小值的差 np.median(a)计算数组a中元素的中位数
8.numpy的梯度函数
8.1np.gradient(f) 计算数组f中元素的梯度,当f为多维是,返回每个维度的梯度n维数组返回n个数组,2维数组返回2个数组
python-数据分析与展示(Numpy、matplotlib、pandas)---1的更多相关文章
- 数据分析与展示——NumPy库入门
这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...
- 小白学 Python 数据分析(3):Pandas (二)数据结构 Series
在家为国家做贡献太无聊,不如跟我一起学点 Python 顺便问一下,你们都喜欢什么什么样的文章封面图,老用这一张感觉有点丑 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析( ...
- 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame
在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...
- 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据
在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...
- 小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(11):Pandas (十)数据分组
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(13):Pandas (十二)数据表拼接
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(7):Pandas (六)数据导入
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(8):Pandas (七)数据预处理
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(9):Pandas (八)数据预处理(2)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
随机推荐
- Socket接口
Socket接口 Socket: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Sock ...
- 004-restful应用构建、分布式会话、测试工具简介
一.概述 什么是rest(表述性状态转移,Representational State Transfer)是一种架构风格.他定义了创建可扩展Web服务的最佳实践. 1.Richardson成熟度模型 ...
- dfs1321
比较抽象吧,看到题时一点思想也没有,参考了别人的代码才知道...渣渣 #include <iostream>#include <stdio.h>#include <str ...
- 19-Python3 函数
def area(width,heigh): return width*heigh def print_wecome(name): print('welcome',name) print('Runoo ...
- [Java in NetBeans] Lesson 02. Variables, Data Types and Assignment.
这个课程的参考视频在youtube. 主要学到的知识点有: Data Type: int, char, String, double, boolean. When into printf, int ( ...
- JAVA生成六位随机数
public static String getSixNum() { String str = "0123456789"; StringBuilder sb = new Strin ...
- R语言的scale函数
1.数据的中心化 所谓数据的中心化是指数据集中的各项数据减去数据集的均值. 例如有数据集1, 2, 3, 6, 3,其均值为3 那么中心化之后的数据集为1-3,2-3,3-3,6-3,3-3,即:-2 ...
- Cocos Creator EditBox(编辑框/输入框)添加事件的两种方法
EditBox添加事件方法一这种方法添加的事件回调和使用编辑器添加的事件回调是一样的,通过代码添加, 你需要首先构造一个 cc.Component.EventHandler 对象,然后设置好对应的 t ...
- java基础(三) -基本数据类型
变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根据变量的类型为变量分配存储空间,分配的空间只能用来储存该类型数据. 因此,通过定义不同类型的变量,可以在内存 ...
- LineRenderer组建实现激光效果
在射击游戏中狙击一般都有一个红外线的效果.比如