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 BeautifulSoup设置页面编码的方法
Apr 03 Python
详解Django中的form库的使用
Jul 18 Python
使用Python从有道词典网页获取单词翻译
Jul 03 Python
python实现简易云音乐播放器
Jan 04 Python
小白如何入门Python? 制作一个网站为例
Mar 06 Python
python3 pandas 读取MySQL数据和插入的实例
Apr 20 Python
python实现人民币大写转换
Jun 20 Python
python中yield的用法详解——最简单,最清晰的解释
Apr 04 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
Python利用Xpath选择器爬取京东网商品信息
Jun 01 Python
Pycharm安装第三方库失败解决方案
Nov 17 Python
Python基于template实现字符串替换
Nov 27 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学习笔记 数组的常用函数
2011/06/13 PHP
PHP基础之运算符的使用方法
2013/04/28 PHP
php获取bing每日壁纸示例分享
2014/02/25 PHP
php计算两个坐标(经度,纬度)之间距离的方法
2015/04/17 PHP
关于jQuery object and DOM element
2013/04/15 Javascript
JS检测输入字符是否包含非法字符的示例代码
2014/02/11 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
JavaScript表单验证的两种实现方法
2017/02/11 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
2017/02/13 Javascript
微信小程序中实现手指缩放图片的示例代码
2018/03/13 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
js指定日期增加指定月份的实现方法
2018/12/19 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
layui监听select变化,以及设置radio选中的方法
2019/09/24 Javascript
用Golang运行JavaScript的实现示例
2019/11/25 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
原生JS运动实现轮播图
2021/01/02 Javascript
[01:31]DOTA2上海特级锦标赛 SECRET战队完整宣传片
2016/03/16 DOTA
[56:41]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs OG
2018/04/01 DOTA
pandas DataFrame 删除重复的行的实现方法
2019/01/29 Python
教你如何编写、保存与运行Python程序的方法
2019/07/12 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
什么情况下你必须要把一个类定义为abstract的
2013/01/06 面试题
shell程序中如何注释
2012/01/28 面试题
优秀应届生推荐信
2013/11/09 职场文书
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
乡镇党的群众路线对照检查材料
2014/09/24 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
普通员工辞职信范文
2015/05/12 职场文书
休假证明书
2015/06/24 职场文书
教师培训简讯
2015/07/20 职场文书
MySQL之select、distinct、limit的使用
2021/11/11 MySQL
pandas时间序列之pd.to_datetime()的实现
2022/06/16 Python