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实现代理服务功能实例
Nov 15 Python
python编程开发之textwrap文本样式处理技巧
Nov 13 Python
深入讲解Java编程中类的生命周期
Feb 05 Python
Python实现的爬虫功能代码
Jun 24 Python
利用Python实现在同一网络中的本地文件共享方法
Jun 04 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
Jun 04 Python
python3实现域名查询和whois查询功能
Jun 21 Python
对python3新增的byte类型详解
Dec 04 Python
用python打印菱形的实操方法和代码
Jun 25 Python
keras做CNN的训练误差loss的下降操作
Jun 22 Python
python 如何实现遗传算法
Sep 22 Python
Python 实现PS滤镜中的径向模糊特效
Dec 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
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
2014/12/17 PHP
在Windows XP下安装Apache+MySQL+PHP环境
2015/02/22 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
Zend Framework入门知识点小结
2016/03/19 PHP
PHP基于反射机制实现插件的可插拔设计详解
2016/11/10 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
TP5框架实现上传多张图片的方法分析
2020/03/29 PHP
Expandable "Detail" Table Rows
2007/08/29 Javascript
拖动布局之保存布局页面cookies篇
2010/10/29 Javascript
基于Jquery的简单图片切换效果
2011/01/06 Javascript
基于jquery的回到页面顶部按钮
2011/06/27 Javascript
复选框全选与全不选操作实现思路
2013/08/18 Javascript
纯js简单日历实现代码
2013/10/05 Javascript
用js的for循环获取radio选中的值
2013/10/21 Javascript
JQuery异步加载无限下拉框级联功能实现示例
2014/02/19 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
js简单实现表单中点击按钮动态增加输入框数量的方法
2015/08/18 Javascript
Clipboard.js 无需Flash的JavaScript复制粘贴库
2015/10/02 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
JS实现返回上一页并刷新页面的方法分析
2019/07/16 Javascript
layui radio点击事件实现input显示和隐藏的例子
2019/09/02 Javascript
JavaScript之Blob对象类型的具体使用方法
2019/11/29 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
一波神奇的Python语句、函数与方法的使用技巧总结
2015/12/08 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
python邮件发送smtplib使用详解
2020/06/16 Python
师范生个人推荐信
2013/11/29 职场文书
环境整治工作方案
2014/05/18 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
学籍证明模板
2014/11/21 职场文书
节水倡议书
2015/01/19 职场文书
征求意见函
2015/06/05 职场文书
小王子读书笔记
2015/06/29 职场文书
辞职信怎么写?你都知道吗?
2019/06/24 职场文书