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的11道基本面试题
Apr 01 Python
详解Python中where()函数的用法
Mar 27 Python
Python自定义函数实现求两个数最大公约数、最小公倍数示例
May 21 Python
Python中判断输入是否为数字的实现代码
May 26 Python
Python后台管理员管理前台会员信息的讲解
Jan 28 Python
详解Python 切片语法
Jun 10 Python
python爬虫 批量下载zabbix文档代码实例
Aug 21 Python
python标识符命名规范原理解析
Jan 10 Python
Python中itertools的用法详解
Feb 07 Python
使用sklearn的cross_val_score进行交叉验证实例
Feb 28 Python
python 实现PIL模块在图片画线写字
May 16 Python
使用keras时input_shape的维度表示问题说明
Jun 29 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
windows7下安装php的php-ssh2扩展教程
2014/07/04 PHP
JavaScript实现LI列表数据绑定的方法
2015/08/04 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
jQuery插件easyUI实现通过JS显示Dialog的方法
2016/09/16 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
vue 验证码界面实现点击后标灰并设置div按钮不可点击状态
2019/10/28 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
利用Python演示数型数据结构的教程
2015/04/03 Python
举例讲解Python中的list列表数据结构用法
2016/03/12 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
python实现kNN算法
2017/12/20 Python
python实现时间o(1)的最小栈的实例代码
2018/07/23 Python
使用Python向C语言的链接库传递数组、结构体、指针类型的数据
2019/01/29 Python
python使用PyQt5的简单方法
2019/02/27 Python
python pandas模块基础学习详解
2019/07/03 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
CSS3区域模块region相关编写示例
2015/08/28 HTML / CSS
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
H5调用相机拍照并压缩图片的实例代码
2017/07/20 HTML / CSS
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
金鑫耀Java笔试题
2014/09/06 面试题
个人自我鉴定怎么写
2013/10/28 职场文书
历史专业个人求职信范文
2013/12/07 职场文书
2014年消防工作实施方案
2014/02/20 职场文书
小学开学标语
2014/07/01 职场文书
关于感恩的演讲稿400字
2014/08/26 职场文书
个人授权委托书模板
2014/09/14 职场文书
公司党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
电子银行业务授权委托书
2014/10/10 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
css3实现背景图片颜色修改的多种方式
2021/04/13 HTML / CSS
Nginx源码编译安装过程记录
2021/11/17 Servers