笔记内容整理自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的更多相关文章

  1. 数据分析与展示——NumPy库入门

    这是我学习北京理工大学嵩天老师的<Python数据分析与展示>课程的笔记.嵩老师的课程重点突出.层次分明,在这里特别感谢嵩老师的精彩讲解. NumPy库入门 数据的维度 维度是一组数据的组 ...

  2. 小白学 Python 数据分析(3):Pandas (二)数据结构 Series

    在家为国家做贡献太无聊,不如跟我一起学点 Python 顺便问一下,你们都喜欢什么什么样的文章封面图,老用这一张感觉有点丑 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析( ...

  3. 小白学 Python 数据分析(4):Pandas (三)数据结构 DataFrame

    在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...

  4. 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据

    在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...

  5. 小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  6. 小白学 Python 数据分析(11):Pandas (十)数据分组

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  7. 小白学 Python 数据分析(13):Pandas (十二)数据表拼接

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  8. 小白学 Python 数据分析(7):Pandas (六)数据导入

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  9. 小白学 Python 数据分析(8):Pandas (七)数据预处理

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  10. 小白学 Python 数据分析(9):Pandas (八)数据预处理(2)

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

随机推荐

  1. 3 jmeter的两种录制方法

    录制1-badboy(推荐) badboy是一款自动化测试工具,它可以完成简单的功能测试和性能测试.其实它是一款独立的测试工具,只不过它录制东西导出的格式适用于jmeter,所以我们经常把jmeter ...

  2. UnicodeDecodeError异常

    UnicodeDecodeError异常 UnicodeDecodeError: 'utf8' codec can't decode byte 0xb2 in position 154: invali ...

  3. TCP/IP协议栈基础知识

    设计思想 把一个复杂的事物进行分层划分,使得每个部分变得相对简单 分层模型 OSI分为7层模型   tcp/ip分为四层模型 应用层(Application) 传输层(Transport) 网络层(I ...

  4. 003-pro ant design 前端权限处理-支持URL参数的页面

    前天需要增加MD5引用 https://www.bootcdn.cn/blueimp-md5/ 1.修改权限文件(CheckPermissions.js)使用自定义权限 2.配置异常页面 2.1.创建 ...

  5. Raid5之后安装系统,挂载磁盘

    配置RAID5 略 2.U盘安装centos系统(我的版本是centos7.0) 这一步骤网上很多,可以参考这篇:http://jingyan.baidu.com/article/359911f571 ...

  6. 多态使用时,父类多态时需要使用子类特有对象。需要判断 就使用instanceof

    instanceof:通常在向下转型前用于健壮性的判断,判断是符合哪一个子类对象 package Polymorphic; public class TestPolymorphic { public ...

  7. Cpython解释器下实现并发编程——多进程、多线程、协程、IO模型

    一.背景知识 进程即正在执行的一个过程.进程是对正在运行的程序的一个抽象. 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老也是最重要的抽象概念之一.操作系统的其他所有内容都 ...

  8. http协议下载文件

    通过在 URL 上调用 openConnection 方法创建连接对象.(HttpURLConnection conn = (HttpURLConnection)new URL("网址&qu ...

  9. GIt 修改上一次的提交(保持Change-Id不变即可)

    背景: 代码提交到gerrit以后,发现提交不对或者缺少了某个文件的改动. 解决: 比如发现test.txt 文件忘记修改了 step1. vim test.txt 修改 step2. git add ...

  10. ES6学习之 解构赋值

    最近看了一个vue的项目,发现作者大量使用了ES6的语法,包括async, Promise, Set, Map还有一些解构赋值, 才发现自己对于ES6的语法缺乏了总结和运用,看得有点艰难,所以重新学习 ...