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操作xml文件详细介绍
Jun 09 Python
django 发送手机验证码的示例代码
Apr 25 Python
Python selenium根据class定位页面元素的方法
Feb 26 Python
Python爬虫解析网页的4种方式实例及原理解析
Dec 30 Python
Python3连接Mysql8.0遇到的问题及处理步骤
Feb 17 Python
python使用paramiko实现ssh的功能详解
Mar 06 Python
使用Python爬取弹出窗口信息的实例
Mar 14 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
解决python对齐错误的方法
Jul 16 Python
公认8个效率最高的爬虫框架
Jul 28 Python
Python二元算术运算常用方法解析
Sep 15 Python
Python Django 后台管理之后台模型属性详解
Apr 25 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实现的MySQL通用查询程序
2007/03/11 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
PHP防止刷新重复提交页面的示例代码
2015/11/11 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
ie和firefox中img对象区别的困惑
2006/12/27 Javascript
JavaScript 继承详解 第一篇
2009/08/30 Javascript
在JavaScript中获取请求的URL参数
2010/12/22 Javascript
JQuery文本改变触发事件如聚焦事件、失焦事件
2014/01/15 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
JS解惑之Object中的key是有序的么
2019/05/06 Javascript
pyhton列表转换为数组的实例
2018/04/04 Python
Python类中的魔法方法之 __slots__原理解析
2019/08/26 Python
python实现智能语音天气预报
2019/12/02 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
2020/03/19 Python
CSS3 transition 实现通知消息轮播条
2020/10/14 HTML / CSS
html5+svg学习指南之SVG基础知识
2014/12/17 HTML / CSS
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
IRO美国官网:法国服装品牌
2018/03/06 全球购物
如何利用find命令查找文件
2016/11/18 面试题
人力资源管理毕业生自荐信
2013/11/21 职场文书
机械设计毕业生自荐信
2014/02/02 职场文书
庆元旦广播稿
2014/02/10 职场文书
安全施工标语
2014/06/07 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
素质拓展训练感想
2015/08/07 职场文书
五年级作文之学校的四季
2019/12/05 职场文书
Pytest之测试命名规则的使用
2021/04/16 Python
Python内置类型集合set和frozenset的使用详解
2022/04/26 Python