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 相关文章推荐
使用graphics.py实现2048小游戏
Mar 10 Python
Python中 传递值 和 传递引用 的区别解析
Feb 22 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
一篇文章搞定Python操作文件与目录
Aug 13 Python
Python 变量的创建过程详解
Sep 02 Python
Python模拟FTP文件服务器的操作方法
Feb 18 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
Python基于BeautifulSoup爬取京东商品信息
Jun 01 Python
PyTorch如何搭建一个简单的网络
Aug 24 Python
Python Selenium实现无可视化界面过程解析
Aug 25 Python
Python实现简单的2048小游戏
Mar 01 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 代码规范小结
2012/03/08 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
一些不错的js函数ajax
2008/08/20 Javascript
Jquery 一次处理多个ajax请求的代码
2011/09/02 Javascript
关于jquery.validate1.9.0前台验证的使用介绍
2013/04/26 Javascript
jQuery查询数据返回object和字符串影响原因是什么
2013/08/09 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
实例详解JavaScript获取链接参数的方法
2016/01/01 Javascript
需灵活掌握的Bootstrap预定义排版类 你精通吗?
2016/06/20 Javascript
vue.js利用Object.defineProperty实现双向绑定
2017/03/09 Javascript
Vue仿手机qq的实例代码(demo)
2017/09/08 Javascript
浅谈angular4实际项目搭建总结
2017/12/01 Javascript
Vue CLI3 开启gzip压缩文件的方式
2018/09/30 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
python获取mp3文件信息的方法
2015/06/15 Python
Python引用模块和查找模块路径
2016/03/17 Python
python使用matplotlib绘制柱状图教程
2017/02/08 Python
Python中super函数的用法
2017/11/17 Python
Linux下python3.7.0安装教程
2018/07/30 Python
用pycharm开发django项目示例代码
2018/10/24 Python
django orm 通过related_name反向查询的方法
2018/12/15 Python
pyttsx3实现中文文字转语音的方法
2018/12/24 Python
python代码实现逻辑回归logistic原理
2019/08/07 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
Python3基本输入与输出操作实例分析
2020/02/14 Python
Pytorch中的自动求梯度机制和Variable类实例
2020/02/29 Python
使用pygame编写Flappy bird小游戏
2020/03/14 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
加拿大在线隐形眼镜专家:PerfectLens.ca
2016/11/19 全球购物
西部世纪.net笔试题面试题
2014/04/03 面试题
带刀到教室的检讨书
2014/10/04 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
爱国教育主题班会
2015/08/14 职场文书
pycharm debug 断点调试心得分享
2021/04/16 Python