Numpy数据存取
Numpy数据存取
numpy提供了便捷的内部文件存取,将数据存为np专用的npy(二进制格式)或npz(压缩打包格式)格式
npy格式以二进制存储数据的,在二进制文件第一行以文本形式保存了数据的元信息(维度,数据类型),可以用二进制工具查看查看内容
npz文件以压缩打包文件存储,可以用压缩软件解压
import numpy as np a = np.array([['张三','李四','王五','赵六'],['','','','','']])
b = a = np.arange(24).reshape((2,3,4)) np.save('x.npy',a) # 存为.npy文件
np.savez("y.npz", ar0 = a, ar1 = b) # 多个数组存入一个.npz压缩包 c = np.load('x.npy') # .npy文件读入数组
c d = np.load("y.npz") # .npz压缩包读入
d["ar0"] # 单独输出数组
CSV文件存取
Comma-Separated Value,逗号分隔值文件
一种数据存储格式
- 广泛支持
- 类表格
- 存储一维或二维数据
- 文本格式
CSV文件:
- 显示:表格状态
- 源文件:换行和逗号分隔行列的格式化文本
Numpy存储CSV文件
将ndarray数组写入CSV文件中
np.savetxt(frame,array,fmt='%.18e',delimiter=None)
- frame 存储文件、字符串或产生器的名字,可以是.gz或.bz2的压缩文件,对大型数据有用,压缩后存储或读取,节省存储资源
- array 存入文件的数组
- fmt 写入文件中每个元素的字符串格式,例如
- %s (ASCII字符)
- %d (整数)
- %.2f(2位小数的浮点数)
- %.18e(科学计数法,常用)
- np各类型元素存储到CSV中都是字符串,字符串显示的格式,默认%.18e,科学计数法,保留18位小数的浮点数形式存储数据,需要根据情况修改
- delimiter 分隔字符串,默认是任何空格,需要改为 逗号
np的savetxt函数并不是专为生成csv文件用的,它可以生成任何带特定分隔字符的文本文件,但csv文件使用广泛,所以我们一般用此函数只生成csv
import numpy as np a = np.arange(100).reshape(5,20)
np.savetxt('a.csv',a,fmt='%d',delimiter=',') #整数
np.savetxt('a.csv',a,fmt='%.1f',delimiter=',') #一位小数的浮点数 b = np.array([['a','b','c','d'],['','','','']])
np.savetxt('b.csv',b,fmt='%s',delimiter=',') #ASCII字符,不能存储非ASCII字符串
csv文件只能存储一维、二维数据,不能存储多维数据
import numpy as np a = np.arange(24).reshape((2,12))
# a = np.arange(24).reshape((2,3,4)) # 存储多维数据出错
a
np.savetxt('y.csv',a,fmt='%d',delimiter=',')
Numpy读取CSV文件
将CSV文件数据读入ndarray数组
np.loadtxt(frame,dtype=np.float,delimiter=None,skiprows=0,usecols=None,unpack=False)
- frame 文件、字符串或产生器,可以是.gz或bz2压缩文件
- dtype 数据类型,可选,csv的字符串以什么数据类型读入数组中,默认np.float 浮点数
- delimiter 分隔字符串,默认是任何空格,改为 逗号
- skiprows 跳过前x行,一般跳过第一行表头
- usecols 读取指定的列,索引,元组类型
- unpack 如果True,读入属性将分别写入不同数组变量,False 读入数据只写入一个数组变量,默认False
import numpy as np
b = np.loadtxt('a.csv', delimiter=',') # 默认浮点型
b = np.loadtxt('a.csv', dtype=np.int, delimiter=',') #数据为整型
#b = np.loadtxt('a.txt', dtype=np.str, delimiter=',') #数据为字符串,输出默认带 b,要去掉用下面方式输出:
b = np.loadtxt('a.txt', dtype=bytes, delimiter=',').astype(str)
b = np.loadtxt('a.txt', dtype=bytes, delimiter=',',skiprows=1,usecols=(2,3)).astype(str) #跳过第一行,读入第3、4列
b
Numpy数据存取的更多相关文章
- 数据分析与展示——NumPy数据存取与函数
NumPy库入门 NumPy数据存取和函数 数据的CSV文件存取 CSV文件 CSV(Comma-Separated Value,逗号分隔值)是一种常见的文件格式,用来存储批量数据. np.savet ...
- Python数据分析与展示(1)-数据分析之表示(2)-NumPy数据存取与函数
NumPy数据存取与函数 数据的CSV文件存取 CSV文件 CSV(Comma-Separated Value,逗号分隔值) CSV是一种常见的文件格式,用来存储批量数据. 将数据写入CSV文件 np ...
- Python——NumPy数据存取与函数
1.数据csv文件存贮 1.1 CSV文件写入 CSV (Comma‐Separated Value, 逗号分隔值)CSV是一种常见的文件格式,用来存储批量数据 np.savetxt(frame, a ...
- 第一周——数据分析之表示 —— Numpy 数据存取与函数
数据的CSV文件的存取 CSV文件:CSV (Comma‐Separated Value, 逗号分隔值) CSV是一种常见的文件格式,用来存储批量数据 np.savetxt(frame, array, ...
- 数据分析与展示---Numpy数据存取与函数
简介 一:数据的CSV文件存取(一维或二维) (一)写入文件savetxt (二)读取文件loadtxt 二:多维数据的存取 (一)保存文件tofile (二)读取文件fromfile (三)NumP ...
- Numpy数据存取与函数
数据的CSV文件存取 多维数据的存取 NumPy的随机数函数 NumPy的统计函数 NumPy的梯度函数
- Pandas数据存取
pd.read_excel('foo.xlsx', 'Sheet1', index_col=None, na_values=['NA']) Pandas数据存取 Pandas可以存取多种介质类型数据, ...
- JavaScript数据存取的性能问题
JavaScript中四种基本的数据存取位置: 字面量:只代表自身 字符串.数字.布尔值.对象.函数.数组.正则,以及null和undefined 快 本地变量:var定义的 快 数组元素 ...
- Hyperledger中数据存取的实现
简介 本文介绍了在Hyperledger中数据存取的实现. API接口 Hyperledger提供基于key/value的数据存储,其中key是字符串,value则是二进制字节数组,Hyperledg ...
随机推荐
- Microsoft Dynamics CRM 2011 面向Internet部署 (IFD) CRM 登录出现会话超时的解决办法
一.IFD 登录的时候,过了一段时间,会马上出现“您的会话已过期”,怎么解决这个问题呢,可以通过改变这个时间.具体图如二 Link to Dynamics CRM Wiki Home Page 二.S ...
- .gitignore 存放位置
放在仓库根目录下即可.比如你的仓库在“D:\MYREPO”,位置就是“D:\MYREPO\.gitignore”. 模板可从GITHUB上COPY一份.
- ng-model的用法
参考: http://www.cnblogs.com/guanglin/p/5200097.html http://www.runoob.com/angularjs/ng-ng-cloak.html ...
- redis和memcached选择,对比分析
memcache和redis是互联网分层架构中,最常用的KV缓存.不少同学在选型的时候会纠结,到底是选择memcache还是redis? memcache提供的功能是redis提供的功能的子集,不用想 ...
- 【转】深入理解java异常处理机制
深入理解java异常处理机制 ; int c; for (int i = 2; i >= -2; i--) { c = b / i; System.out.println("i=&qu ...
- 关于String str =new String("abc")和 String str = "abc"的比较--转
原文地址:https://www.cnblogs.com/OnlyCT/p/5433410.html String是一个非常常用的类,应该深入的去了解String 如: String str =new ...
- fiddler工具能干啥
1.通过模拟弱网进行测试(试了木有效果) http://www.cnblogs.com/LanTianYou/p/7095174.html (试了貌似没反应) http://caibaojian.co ...
- 在HTML标签的事件后面直接写JS代码
<input type="button" onclick="document.getElementdByTagName('div')[0].innrtHTML='S ...
- 1085 Perfect Sequence (25 分)
1085 Perfect Sequence (25 分) Given a sequence of positive integers and another positive integer p. T ...
- 学学Gearman
通常,多语言多系统之间的集成是个大问题,一般来说,人们多半会采用WebService的方式来处理此类集成问题,但不管采用何种风格的WebService,如RPC风格,或者REST风格,其本身都有一定的 ...