- 数据的CSV文件存取-Numpy 数据存取与函数 1
- 多维数据的存取-Numpy 数据存取与函数 2
- Numpy的随机数函数-Numpy 数据存取与函数 3
- Numpy的统计函数- Numpy数据存取与函数 4
- Numpy的梯度函数- Numpy数据存取与函数 5
- 单元小结-Numpy 数据存取与函数 6
最近更新:2018-01-23
1. 数据的CSV文件存取-Numpy 数据存取与函数 1
1.1 csv文件简介
以单行,逗号的形式存储,其中每一行对应原表格的原数据.每一个逗号把每一行的数据进行了分割.
1.2savetxt函数写入文件
- 是存储一维二维非常好用的存储格式.numpy有两个函数可以写入/读入csv格式.其中savetxt函数就是其中之一.savetext不仅仅是存储csv格式,只因csv格式格式比较广泛.
- 使用整数存储例子
- 使用浮点存储例子
1.3loadtxt函数储存CSV文件
- 用压缩文件,存储空间比较有限
- 存储例子
1.4CSV文件的局限性
2. 多维数据的存取-Numpy 数据存取与函数 2
2.1tofile函数储存
-
存储例子1
以逗号分割的文件,与csv不同,这个文件没有包含任何维度的信息.只是将数组的元素逐一列出,并输出到这个文件中.
-
存储例子2
二进制文件,无法用文本编辑器看懂,但二进制文件比文本文件占用更小的空间.因为看不到文件,常作为数据备份的方式.
2.2fromfile函数储存
-
存储文本文件例子
1 )使用tofile方法是一个文本文件,写入整数,所有的元素以逗号进行分割,元素之间并没有维度信息,获得数组a
2 )使用fromfile方法是一个文本文件,写入整数,所有的元素以逗号进行分割,获得数组c.
3 )c是个一维数组,与写入a之前的不一样.为了获得跟a一样的数组,我们需要用reshape将之前数组的形状告诉给c,使用fromfile+reshape复制给新的c,我们可以看得到a的内容跟c的内容是一样的.
4 )这个方法写入之后,维度信息会丢失,必须在读入之前知道维度的信息,才能有效还原数组的信息.
-
存储二进制文件例子
没有指定分隔符,都是二进制文件,写入的a与c内容是一致的
-
需要注意
因要知道存入文件时数组的维度和元素类型,所以存储时通过元数据文件来存储额外信息进行备份.有些复杂和麻烦,对大规模数据存储的时候还是有效的.
2.3Numpy的便捷文件存取
-
.npy是Numpy自定义的文件格式,所以要居于numpy自定义的格式.不想使用这种方法可以使用2.1/2.2的方法,如果无所谓,则可以使用save方法.存到一个文件.
-
读的方式是以.load的方式读回来,并还原数组的维度和相关信息.
-
存储例子
1 )b与a的内容是一致的,npy这个文件能还原数据的维度和变量信息.
2 )用二进制工具打开,npy文件,发现这个文件是以二进制的方式存储起来,而在文件的最开始,用显示的方式,数组的原信息包括它的维度,数据类型写到第一行中,在np.load中读取这个文件通过解析第一行的原信息,知道存储数据大概是什么样的形状和数据类型,这样就可以很有效的还原一个数组.
3. Numpy的随机数函数-Numpy 数据存取与函数 3
3.1 Numpy的random子库
3.2 np.random的随机数函数(1)
3.3 函数小试
- rand函数
- randn
- randint&seed
3.4np.random的随机数函数(2)
-
shuffle函数
调用shuffle函数发现数组a已经发生改变,是a最外层的一维数组发生了变化.再次调用shuffle函数,次序又发生了变化.
-
permutation函数
被乱序之后的数组,不改变原来数组的内容.
-
choice函数
等概率的从b数组中抽取函数,被选取过的函数,可能会被再次选取.如果将replace=False则不再被选取.
image.png
3.5 np.random的随机数函数(3)
- uniform函数& normal函数
4. Numpy的统计函数- 数据存取与函数 4
4.1Numpy直接提供的统计类函数
4.2np.random的统计函数(1)
! image.png-
函数小试
最外层的维度axis=0,最内层的维度axis=1
4.3np.random的统计函数(2)
-
函数小试
中位数是个浮点数,是由经过运算的
5. Numpy的梯度函数- 数据存取与函数 5
5.1一维数组计算
- 两侧都有值的计算
1.5=3的下一个值12,减去3的上一个值15再除以2 -
只有单侧有值的计算
(当前值-上个值)/2
5.2多维数组计算
计算的结果有两维
5.3gradient函数的计算
梯度用于图像以及声音等多媒体的边界或变化比较平缓或异常的处理