Numpy数组数据文件的读写
一、引言
读写数据文件的重要性就不必多说了。
二、读取列表形式数据的文件
1、我们写几行CSV格式(列表形式,两值之间逗号隔开)的数据。
- id,height,age
- 1,175,20
- 2,168,18
- 3,177,30
- 4,142,12
使用genfromtxt()函数读取数据。接收三个参数:文件名,分隔符,是否有列标题
- In [4]: a = np.genfromtxt('test.csv',delimiter=',',names=True)
- In [5]: a
- Out[5]:
- array([( 1., 175., 20.), ( 2., 168., 18.), ( 3., 177., 30.),
- ( 4., 142., 12.)],
- dtype=[('id', '<f8'), ('height', '<f8'), ('age', '<f8')])
这个函数的包含两层循环:第一层循环每一行,第二层循环将每一行中的多个值分开后转化,一次插入所创建的数组。优点是能够处理文件中缺失的数据(Nan)。
2、我们试图删除几个元素看看
- id,height,age
- 1,175,
- 2,168,18
- ,177,30
- 4,,12
- In [6]: a = np.genfromtxt('test.csv',delimiter=',',names=True)
- In [7]: a
- Out[7]:
- array([( 1., 175., nan), ( 2., 168., 18.), ( nan, 177., 30.),
- ( 4., nan, 12.)],
- dtype=[('id', '<f8'), ('height', '<f8'), ('age', '<f8')])
可见,genfromtxt()函数将缺失的数据填充为nan值(应该是no a number)
3、获取某行或者某列
- In [8]: a[0]
- Out[8]: ( 1., 175., nan)
- In [9]: a['height']
- Out[9]: array([ 175., 168., 177., nan])
三、二进制文件读写
save()已二进制格式保存数据,参数:文件名(不用后缀),数据。
load()从二进制文件读取数据,参数:文件名(带后缀)
1.执行sava()后,在本目录创建了my_data.npy二进制文件
- In [10]: data = np.random.random((3,3))
- In [11]: data
- Out[11]:
- array([[ 0.35264296, 0.81619681, 0.24089159],
- [ 0.31230919, 0.14782997, 0.53526203],
- [ 0.5505135 , 0.64876637, 0.17538648]])
- In [12]: np.save('my_data',data)
2、二进制文件数据读取,以文件名作为参数,并带上.npy扩展名
- In [13]: np.load('my_data.npy')
- Out[13]:
- array([[ 0.35264296, 0.81619681, 0.24089159],
- [ 0.31230919, 0.14782997, 0.53526203],
- [ 0.5505135 , 0.64876637, 0.17538648]])
Numpy数组数据文件的读写的更多相关文章
- Python基础 | 数据文件的读写
目录 txt txt的读入 txt的写出 csv xls\xlsx 在线网页数据 常用的工具 爬虫的步骤 pdf pdfrw PyPDF2 提取文档信息 word文档 其他统计软件生成文件 本文总结使 ...
- 营销MM让我讲MySQL日志顺序读写及数据文件随机读写原理
摘要:你知道吗,MySQL在实际工作时候的两种数据读写机制? 本文分享自华为云社区<MySQL日志顺序读写及数据文件随机读写原理>,作者:JavaEdge . MySQL在实际工作时候的两 ...
- Java 对不同类型的数据文件的读写操作整合器[JSON,XML,CSV]-[经过设计模式改造](2020年寒假小目标03)
日期:2020.01.16 博客期:125 星期四 我想说想要构造这样一个通用文件读写器确实不容易,嗯~以后会添加更多的文件类型,先来熟悉一下文件内容样式: <?xml version=&quo ...
- numpy数组之读写文件
目录 通过 numpy 读写 txt 或 csv 文件 通过 numpy 读写 npy 或 npz 文件 读写 npy 文件 读写 npz 文件 通过 h5py 读写 hdf5 文件 简单读取 通过切 ...
- python : 将txt文件中的数据读为numpy数组或列表
很多时候,我们将数据存在txt或者csv格式的文件里,最后再用python读取出来,存到数组或者列表里,再做相应计算.本文首先介绍写入txt的方法,再根据不同的需求(存为数组还是list),介绍从tx ...
- Numpy用于数组的文件输入输出
这一章比较简单,内容也比较少.而且对于文件的读写,还是使用pandas比较好.numpy主要是读写文本数据和二进制数据的. 将数组以二进制的格式保存到硬盘上 主要的函数有numpy.save和nump ...
- java byte【】数组与文件读写(增加新功能)
今天在测试直接写的文章: java byte[]数组与文件读写 时,想调用FileHelper类对字节数组以追加的方式写文件,结果无论怎样竟然数据录入不全,重新看了下文件的追加模式,提供了两种方式: ...
- 007 numpy数组文件的存取
不知道这个有没有用,都整理了一番. 一:数组以二进制格式进行存储 1.说明 np.save与np.load是读写磁盘数组数据的两个重要函数. 默认情况下,数组以压缩的原始二进制格式保存在扩展名为npy ...
- MATLAB中文件的读写和数据的导入导出
http://blog.163.com/tawney_daylily/blog/static/13614643620111117853933/ 在编写一个程序时,经常需要从外部读入数据,或者将程序运行 ...
随机推荐
- Dora.Interception,为.NET Core度身打造的AOP框架 [4]:与依赖注入框架的无缝集成
Dora.Interception最初的定位就是专门针对.NET Core的AOP框架,所以在整个迭代过程中我大部分是在做减法.对于.NET Core程序开发来说,依赖注入已经成为无处不在并且“深入骨 ...
- 分门别类总结Java中的各种锁,让你彻底记住
概念 公平锁/非公平锁 公平锁是指多个线程按照申请锁的顺序来获取锁. 非公平锁是指多个线程获取锁的顺序并不是按照申请锁的顺序,有可能后申请的线程比先申请的线程优先获取锁.有可能,会造成优先级反转或者饥 ...
- [Swift]LeetCode225. 用队列实现栈 | Implement Stack using Queues
Implement the following operations of a stack using queues. push(x) -- Push element x onto stack. po ...
- [Swift]LeetCode538. 把二叉搜索树转换为累加树 | Convert BST to Greater Tree
Given a Binary Search Tree (BST), convert it to a Greater Tree such that every key of the original B ...
- [Swift]LeetCode868. 二进制间距 | Binary Gap
Given a positive integer N, find and return the longest distance between two consecutive 1's in the ...
- 发布core到linux
1.安装虚拟机之后,发现可以ping通但是telnet提示失败 CentOS 7.0默认使用的是firewall作为防火墙(我们需要把防火墙关掉) 查看防火墙状态 firewall-cmd --sta ...
- Python——day11 函数(对象、名称空间、作用域、嵌套、闭包)
一.函数对象 函数名就是存放了函数的内存地址,存放了内存地址的变量都是对象,即 函数名 就是 函数对象 函数对象的应用 1. 可以直接被引用 fn = cp_fn 2 .可以当作函数参数传递 c ...
- Spring mvc参数类型转换
1,需求 有时候我们接收到的参数为String类型的,但是我们需要将它们转化为其他类型的如:date类型,枚举类型等等,spring mvc为我们提供了这样的功能. 2,配置文件 在springmvc ...
- 个人玩耍VUE..我的点点滴滴,今天很冷,2度!!!
谢谢博客园,可以记录我的点点滴滴.!!这个小案例的效果图 其中,这篇还是上一篇博客的序章,我们直接看下更新的代码. Cart.Vue <template> <div class=&q ...
- CentOS 7 安装 Jenkins
准备工作 首选需要安装JAVA环境 https://www.cnblogs.com/stulzq/p/9286878.html 如果你的系统没有自带git,那么也需要安装一个 yum install ...