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(一)Python环境安装
Aug 20 Python
Python环境下安装使用异步任务队列包Celery的基础教程
May 07 Python
python基础教程之分支、循环简单用法
Jun 16 Python
Django开发中的日志输出的方法
Jul 02 Python
python+influxdb+shell编写区域网络状况表
Jul 27 Python
Python+PyQT5的子线程更新UI界面的实例
Jun 14 Python
Django多数据库的实现过程详解
Aug 01 Python
Python基于WordCloud制作词云图
Nov 29 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
python爬虫开发之urllib模块详细使用方法与实例全解
Mar 09 Python
Python内置异常类型全面汇总
May 28 Python
python基础之模块的导入
Oct 24 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
基于asp+ajax和数据库驱动的二级联动菜单
2010/05/06 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
2015/09/30 PHP
PHP数组去重比较快的实现方式
2016/01/19 PHP
PHPCMS2008广告模板SQL注入漏洞修复
2016/10/11 PHP
thinkPHP实现多字段模糊匹配查询的方法
2016/12/01 PHP
yii2实现分页,带搜索的分页功能示例
2017/01/07 PHP
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
2015/04/17 Javascript
javascript如何写热点图
2015/12/08 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
web打印小结
2017/01/11 Javascript
微信小程序 flex实现导航实例详解
2017/04/26 Javascript
vue弹窗插件实战代码
2018/09/08 Javascript
如何为vue的项目添加单元测试
2018/12/19 Javascript
ES6入门教程之let、const的使用方法
2019/04/13 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
Pandas读取并修改excel的示例代码
2019/02/17 Python
Python常用模块之requests模块用法分析
2019/05/15 Python
六行python代码的爱心曲线详解
2019/05/17 Python
Python 文件数据读写的具体实现
2020/01/24 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
python 实现超级玛丽游戏
2020/11/25 Python
Python抖音快手代码舞(字符舞)的实现方法
2021/02/07 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
英国羊绒服装购物网站:Pure Collection
2018/10/22 全球购物
网上常见的一份Linux面试题(多项选择部分)
2014/09/09 面试题
家庭贫困证明范本(经典版)
2014/09/22 职场文书
2015年学校图书室工作总结
2015/05/19 职场文书
2015年中秋寄语
2015/07/31 职场文书
在K8s上部署Redis集群的方法步骤
2021/04/27 Redis
vue 实现上传组件
2021/05/31 Vue.js