numpy中loadtxt 的用法详解


Posted in Python onAugust 03, 2018

numpy中有两个函数可以用来读取文件,主要是txt文件, 下面主要来介绍这两个函数的用法

第一个是loadtxt, 其一般用法为

numpy.loadtxt(fname, dtype=, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)

上面给出了loadtxt所有的关键字参数, 这里我们可以来一一解释并给出示例

这里我们使用的是jupyter notebook, 可以实现交互式的界面操作

%%writefile test.txt # 这是用来写入文件的代码
1 2 3 4 
2 3 4 5
3 4 5 6
4 5 6 7

首先给出最简单的loadtxt的代码

import numpy as np
a = np.loadtxt('test.txt')#最普通的loadtxt
print(a)

实际上就是直接写文件名, 其他关键字参数都是默认的。输出为

[[1. 2. 3. 4.]
 [2. 3. 4. 5.]
 [3. 4. 5. 6.]
 [4. 5. 6. 7.]]

a为浮点数的原因为Python默认的数字的数据类型为双精度浮点数

%%writefile test.txt
A B C
1 2 3
4 5 6
7 8 9

a = np.loadtxt('test1.txt', skiprows=1, dtype=int)
print(a)

这里的skiprows是指跳过前1行, 如果设置skiprows=2, 就会跳过前两行,  这里的输出为

[[1 2 3]
 [4 5 6]
 [7 8 9]]

%%writefile test.txt
A B C
1 2 3
# AAA
4 5 6
7 8 9

a = np.loadtxt('test2.txt', dtype=int, skiprows=1, comments='#')
print(a)

这里的comment的是指, 如果行的开头为#就会跳过该行, 这里输出为

[[1 2 3]
 [4 5 6]
 [7 8 9]]

%%writefile test.txt
A B C
1, 2, 3
# AA AAA
4, 5, 6
7, 8, 9

(a, b) = np.loadtxt('test.txt', dtype=int, skiprows=1, comments='#', delimiter=',', usecols=(0, 2), unpack=True)
print(a, b)

这里的usecols是指只使用0,2两列, unpack是指会把每一列当成一个向量输出, 而不是合并在一起。

[1 4 7] [3 6 9]

最后介绍converters参数, 这个是对数据进行预处理的参数, 我们可以先定义一个函数, 这里的converters是一个字典, 表示第零列使用函数add_one来进行预处理

def add_one(x):
return int(x)+1#注意到这里使用的字符的数据结构
(a, b) = np.loadtxt('test.txt', dtype=int, skiprows=1, converters={0:add_one}, comments='#', delimiter=',', usecols=(0, 2), unpack=True)
print(a, b)

输出结果为:

[2 5 8] [3 6 9]

补一个GitHub的jupyter-notebook链接...

https://github.com/ChangChunHe/PythonLearning/blob/master/Numpy/8.loadtxt_and_genfromtxt.ipynb

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现电子词典
Apr 23 Python
Python自定义scrapy中间模块避免重复采集的方法
Apr 07 Python
Python 获取当前所在目录的方法详解
Aug 02 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
python协程之动态添加任务的方法
Feb 19 Python
Python完成毫秒级抢淘宝大单功能
Jun 06 Python
python单线程下实现多个socket并发过程详解
Jul 27 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
Python filter过滤器原理及实例应用
Aug 18 Python
python 获取计算机的网卡信息
Feb 18 Python
聊一聊python常用的编程模块
May 14 Python
你喜欢篮球吗?Python实现篮球游戏
Jun 11 Python
matplotlib给子图添加图例的方法
Aug 03 #Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 #Python
Numpy之文件存取的示例代码
Aug 03 #Python
Python数据分析matplotlib设置多个子图的间距方法
Aug 03 #Python
详解python实现识别手写MNIST数字集的程序
Aug 03 #Python
opencv python 基于KNN的手写体识别的实例
Aug 03 #Python
Flask实现图片的上传、下载及展示示例代码
Aug 03 #Python
You might like
php设计模式 Prototype (原型模式)代码
2011/06/26 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
php语言中使用json的技巧及json的实现代码详解
2015/10/27 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
2016/07/02 PHP
基于Laravel 5.2 regex验证的正确写法
2019/09/29 PHP
laravel5 Eloquent 实现事务方式
2019/10/21 PHP
js下将字符串当函数执行的方法
2011/07/13 Javascript
清除div下面的所有标签的方法
2014/02/17 Javascript
在jQuery中使用$而避免跟其它库产生冲突的方法
2015/08/13 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
Bootstrap模态对话框的简单使用
2016/04/29 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
AngularJS equal比较对象实例详解
2016/09/14 Javascript
VUE + UEditor 单图片跨域上传功能的实现方法
2018/02/08 Javascript
vue项目中使用fetch的实现方法
2019/04/25 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
2020/10/28 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[00:14]PWL:老朋友Mushi拍VLOG与中国玩家问好
2020/11/04 DOTA
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
Win10下python3.5和python2.7环境变量配置教程
2018/09/18 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
Python for循环及基础用法详解
2019/11/08 Python
html5 input元素新特性_动力节点Java学院整理
2017/07/06 HTML / CSS
澳大利亚家具和家居用品购物网站:Zanui
2018/12/29 全球购物
第二层交换机和路由器的区别?第三层交换机和路由器的区别?
2013/05/23 面试题
如何通过 CSS 写出火焰效果
2021/03/24 HTML / CSS
英语专业学生个人求职信
2014/01/28 职场文书
优秀民警事迹材料
2014/01/29 职场文书
护理毕业生自我鉴定
2014/02/11 职场文书
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
三严三实对照检查材料范文
2014/09/23 职场文书
教育实习指导教师评语
2014/12/31 职场文书
python某漫画app逆向
2021/03/31 Python
部分武汉产收音机展览
2022/04/07 无线电