3.5Python数据处理篇之Numpy系列(五)---numpy文件的存取
目录:
目录:
1.以文本形式存取
2.以任意的形式存取
3.以np自定义的形式存取
(一)以文本形式存取
1.说明:
(1)适用范围:存储一维,二维数组
(2)局限性:不能存储多维数组
2.语法解释:
(1)写文件
从数组到文件
np.savetxt(frame,array,fmt="%1.8e",delimiter=None)
frame -> 文件名,字符串
array -> 数据的来源,数组
fmt ->写入的格式
delimiter ->分隔符
(2)读文件
从文件到数组
np.loadtxt(frame,dtype=np.float,delimiter=None)
frame -> 数据的来源,文件名,字符串
dtype -> 数据读取的格式类型
delimiter ->分隔符
3.实例(以.csv文件为例)
import numpy as np
# 生成一个数组
a = np.arange(100).reshape(5,20)
# 写入到文件
np.savetxt('a.csv',a,fmt="%2d",delimiter=',')
# 读取到数组变量
b = np.loadtxt('a.csv',dtype=np.float,delimiter=',')
print(b)
csv文件是一种常用的数据存储方式,可以用excel操作,分隔符是用逗号。
4.效果展示

(二)以任意的形式存取
1.说明:
适用范围:可以是任意种文件类型.txt .bat .csv .dot
局限性:丢失了数据的维度信息,按顺序存储数据。
2.语法解释:
(1)写文件
a.tofile(frame,sep='',format='%s')
a ->数组
frame ->文件名,字符串
sep ->分隔符,空串或默认是写入的是二进制文件
format ->写入的格式
(2)读文件
np.fromfile(frame,dtype=np.float,count=-1,sep='')
frame ->文件名,字符串
dtype ->读出的格式
count ->读出的数个数,索引
sep ->分隔符
返回值:数组
3.实例(以.bat二进制文件为例)
# 导入numpy
import numpy as np
# 生成数组
a = np.arange(100).reshape(5,10,2)
# 写入文件
a.tofile("b_b.bat",sep=",",format="%2d")
# 读出文件
c = np.fromfile("b.dat",dtype=np.int,sep="").reshape(5,2,10)
print(c)
二进制的文件,分割符必须是空串,其优势是占用内存小
4.效果展示
(1)二进制文件:

(二)文本文件:

(三)以np自定义的形式存取
1.说明:
适用范围:任意维度的数组
局限性:必须以numpy自定义的文件格式,而且是二进制文件。
2.语法解释:
(1)写文件
np.save(fname,array)
fname -> 文件名称,以普通格式.npy和压缩格式.npz为后缀名
array ->数组
(2)读文件
np.load(fname)
fname -> 文件名,以普通格式.npy和压缩格式.npz为后缀名
返回值:存储时的数组。
3.实例:
import numpy as np
a = np.arange(10000).reshape(10,10,100)
# writer file
np.save("01.npy",a)
np.savez("01.npz",a)
# read file
b = np.load("01.npy")
c = np.load("01.npz")
print(b)
print(c)
4.实例展示

3.5Python数据处理篇之Numpy系列(五)---numpy文件的存取的更多相关文章
- 5.5Python数据处理篇之Sympy系列(五)---解方程
目录 目录 前言 (一)求解多元一次方程-solve() 1.说明: 2.源代码: 3.输出: (二)解线性方程组-linsolve() 1.说明: 2.源代码: 3.输出: (三)解非线性方程组-n ...
- 4.5Python数据处理篇之Matplotlib系列(五)---plt.pie()饼状图
目录 目录 前言 (一)简单的饼状图 (二)添加阴影和突出部分 (三)显示图例和数据标签: 目录 前言 饼状图需要导入的是: plt.pie(x, labels= ) (一)简单的饼状图 (1)说明: ...
- 3.7Python数据处理篇之Numpy系列(七)---Numpy的统计函数
目录 目录 前言 (一)函数一览表 (二)统计函数1 (三)统计函数2 目录 前言 具体我们来学Numpy的统计函数 (一)函数一览表 调用方式:np.* .sum(a) 对数组a求和 .mean(a ...
- 3.8Python数据处理篇之Numpy系列(八)---Numpy的梯度函数
目录 目录 前言 (一)函数说明 (二)一维数组的应用 (三)多维数组的应用 目录 前言 梯度函数,其中的梯度也就是斜率,反映的是各个数据的变化率.在numpy中只有一个梯度函数. (一)函数说明 ( ...
- 3.6Python数据处理篇之Numpy系列(六)---Numpy随机函数
目录 目录 前言 (一)基础的随机函数 (二)轴的随机函数 (三)概率的随机函数 目录 前言 前一段日子学了numpy,觉得无趣,没有学完,不过后来看了看matplotlib,sympy等库时,频频用 ...
- 5.2Python数据处理篇之Sympy系列(二)---Sympy的基本操作
目录 目录 前言 (一)符号的初始化与输出设置-symbol() symbols() latex() 1.作用: 2.操作: (二)替换符号-subs(old,new) 1.说明: 2.源代码: 3. ...
- 4.3Python数据处理篇之Matplotlib系列(三)---plt.plot()折线图
目录 前言 (一)plt.plot()函数的本质 ==1.说明== ==2.源代码== ==3.展示效果== (二)plt.plot()函数缺省x时 ==1.说明== ==2.源代码== ==3.展示 ...
- 5.6Python数据处理篇之Sympy系列(六)---矩阵的操作
目录 目录 前言 (一)矩阵的创建-Matrix() 1.说明: 2.源代码: 3.输出: (二)常用的构造矩阵 1.说明: 2.源代码: 3.输出: (三)基本操作 1.说明: 2.源代码: 3.输 ...
- 5.3Python数据处理篇之Sympy系列(三)---简化操作
目录 5.3简化操作 目录 前言 (一)有理数与多项式的简化 1.最简化-simplify() 2.展开-expand() 3.提公因式-factor() 4.合并同类项-ceiling() 5.简化 ...
随机推荐
- python学习之语法
看过python的语法,才知道,这中编程语言是最简洁的,比如if a==b这种判断a和b的值是否相等,其他编程语言是需要小括号的,这个就不用. if语句: cars = ['audi', 'bmw', ...
- Python学习的路上,Anaconda送你一双遮天神翼
一.背景 最近在学习python,发现在本地搭建python环境的时候,要是想要同时搭建不同python版本的环境,就比较麻烦,很容易就出现冲突了,很是头疼.然后光明就出现这山重水复疑无路的时候, ...
- interface21 - web - DispatcherServlet(DispatcherServlet初始化流程)
前言 最近打算花点时间好好看看spring的源码,然而现在Spring的源码经过迭代的版本太多了,比较庞大,看起来比较累,所以准备从最初的版本(interface21)开始入手,仅用于学习,理解其设计 ...
- go中的读写锁RWMutex
读写锁是针对于读写操作的互斥锁. 基本遵循两大原则: 1.可以随便读.多个goroutin同时读. 2.写的时候,啥都不能干.不能读,也不能写. 解释: 在32位的操作系统中,针对int64类型值的读 ...
- Linux给命令设置别名
查看命令别名:alias alias 设置命令别名:alias 别名='命令' alias ll='ls -l' 取消命令别名:unalias 别名 unalias ll 命令永久生效 上面直接在sh ...
- Java字符串和容器
String Java.lang.String是Java的字符串类. Srting是一个不可变对象,所有对String修改的操作都需要构造新的String实例. String可以由char数组或字符串 ...
- Mysql存储过程入门介绍
delimiter //一般情况下MYSQL以:结尾表示确认输入并执行语句,但在存储过程中:不是表示结束,因此可以用该命令将:号改为//表示确认输入并执行. 一.创建存储过程 1.基本语法: crea ...
- ip2Long 代码
def ip2Long(ip: String): Long = { val fragments = ip.split("[.]") var ipNum = 0L for (i &l ...
- Perfect hashing (And Minimal perfect hashing)
Perfect Hashing: A hash function that is injective-that is, maps each valid input to a different has ...
- 利用echarts自定义环形图
一.代码 app.title = '通讯盒各版本用户占比'; option = { backgroundColor: '#0f0f31', title: { show:true, x:"le ...