numpy入门详细教程(四)

本讲主要介绍numpy提供的数据存取方法,包括数据的CSV文件存取、多维数据的存取、便捷文件存取。

更多内容请看numpy入门详细教程(五)

数据的CSV文件保存

CSV(Comma-Separated Value,逗号分隔值)

CSV是一种常见的文件格式,用来存储批量数据

上图右侧便是CSV文件的内容。

用法:

np.savetxt(frame, array, fmt='%.18e', delimiter=None)

frame:文件、字符串或产生器,可以是.gz或.bz2的压缩文件

array:存入文件的数组

fmt:写入文件的格式,例如:%d    %.2d     %.18e

delimiter : 分隔字符串,默认是任何空格

举例:

经过上述两行代码操作,文件便已经被保存下来,打开保存的文件后如下图所示:

在np.savetxt('a.csv', a, fmt='%d', delimiter=',')中,参数'a.csv'表示的保存后的文件的文件名是a.csv;参数a指的是要保存的数组,参数fmt='%d'表示的是元素以整数类型保存,参数dilimiter=','表示元素间以‘,’分隔

再举一个例子:

打开文件b.csv后,

注意:csv文件不支持保存多维数据。例如:

输入上述两行代码后,会报错:

数据的CSV文件读取

用法举例:

np.loadtxt(frame, dtype=np.float, delimiter=None, unpack=False)

frame  :  文件、字符串或产生器,可以是.gz或.bz2的压缩文件

dtype:  数据类型,可选
delimiter  :  分割字符串,默认是任何空格
unpack :  如果True,读入属性将分别写入不同变量

举例:

读取之前保存的a.csv文件

读取之前保存的b.csv文件

CSV文件的局限性:只能存取一维和二维数组,np.savetxt()  np.loadtxt()只能存取一维和二维数组

多维数组的保存:

用法举例:

a.tofile(frame, sep='', format='%s')

frame  :  文件、字符串

sep :  数据分割字符串,如果是空串,写入文件为二进制

format  :  写入数据的格式

例子:

打开文件a.dat后,可以看到:

注意:如果sep='',即数据分隔字符串是空串,写入的文件为二进制。

查看文件b.dat的属性:

多维数组的读取:

用法举例:

np.fromfile(frame, dtype=np.float, count=-1, sep='')

frame  :  文件、字符串

dtype :  读取的数据类型

count  :  读入元素个数,‐1表示读入整个文件

sep :  数据分割字符串,如果是空串,写入文件为二进制

例子:

读取先前保存的文件a.dat

与下图对比:

我们发现,多维数组保存时,维度会转化为一维。

numpy的便捷文件存取:

用法举例:

np.save(fname, array) 或 np.savez(fname, array)

fname :  文件名,以.npy为扩展名,压缩扩展名为.npz

rray  :  数组变量

np.load(fname)

fname:  文件名,以.npy为扩展名,压缩扩展名为.npz

例子:

查看文件a.npy

读取文件:

总结:

numpy库提供的数据存取方式有三种:

CSV文件存取:适用于一维二维数组的存取

dat文件存取:适用与多维数组的存取

便捷文件存取:优点:适用于一维二维多维数组的存取,用法最为简单便捷。缺点:保存的文件为二进制文件,该文件里的内容为二进制数据,不利于查看。

更多内容请看numpy入门详细教程(五)

注:作者在慕课上跟随嵩天老师学习python数据分析,收获良多,以上内容上作者的学习笔记。

  • 5
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值