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 相关文章推荐
pycharm 使用心得(六)进行简单的数据库管理
Jun 06 Python
python实现堆栈与队列的方法
Jan 15 Python
django通过ajax发起请求返回JSON格式数据的方法
Jun 04 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
python解析json串与正则匹配对比方法
Dec 20 Python
pandas ix &iloc &loc的区别
Jan 10 Python
python的turtle库使用详解
May 10 Python
Python依赖包整体迁移方法详解
Aug 15 Python
Python ckeditor富文本编辑器代码实例解析
Jun 22 Python
python数据抓取3种方法总结
Feb 07 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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
PHPStrom中实用的功能和快捷键大全
2015/09/23 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
dropdownlist之间的互相联动实现(显示与隐藏)
2009/11/24 Javascript
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
2013/05/07 Javascript
JS中eval函数的使用示例
2013/07/21 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
2016/04/01 Javascript
JS使用正则表达式过滤多个词语并替换为相同长度星号的方法
2016/08/03 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
详解Vue.js动态绑定class
2016/12/20 Javascript
bootstrap网格系统使用方法解析
2017/01/13 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
解决LayUI表单获取不到data的问题
2018/08/20 Javascript
基于vue的验证码组件的示例代码
2019/01/22 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
javascript 设计模式之组合模式原理与应用详解
2020/04/08 Javascript
[02:57]2014DOTA2国际邀请赛 选手辛苦解说更辛苦
2014/07/10 DOTA
[02:56]DOTA2亚洲邀请赛 VG出场战队巡礼
2015/02/07 DOTA
获取Django项目的全部url方法详解
2017/10/26 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
2018/07/04 Python
Python函数中不定长参数的写法
2019/02/13 Python
python导入坐标点的具体操作
2019/05/10 Python
python 实现有道翻译功能
2021/02/26 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
html5 datalist标签使用示例(自动完成组件)
2014/05/04 HTML / CSS
企业项目策划书
2014/01/11 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
出纳员的岗位职责
2014/02/22 职场文书
迎新晚会主持词
2014/03/24 职场文书
科学发展观标语
2014/10/08 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书