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和perl实现批量对目录下电子书文件重命名的代码分享
Nov 21 Python
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
Python实现文件复制删除
Apr 19 Python
解决Python安装后pip不能用的问题
Jun 12 Python
Python 查找list中的某个元素的所有的下标方法
Jun 27 Python
python 实现求解字符串集的最长公共前缀方法
Jul 20 Python
Python字符串匹配之6种方法的使用详解
Apr 08 Python
详解Python:面向对象编程
Apr 10 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
Python基础之变量基本用法与进阶详解
Jan 03 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 Python
如何利用python进行时间序列分析
Aug 04 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读取html并截取字符串的简单代码
2009/11/30 PHP
PHP垃圾回收机制简单说明
2010/07/22 PHP
PHP的基本常识小结
2013/07/05 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
php简单创建zip压缩文件的方法
2016/04/30 PHP
分享精心挑选的23款美轮美奂的jQuery 图片特效插件
2012/08/14 Javascript
jQuery多级弹出菜单插件ZoneMenu
2014/12/18 Javascript
jQuery获得子元素个数的方法
2015/04/14 Javascript
AngularJS教程 ng-style 指令简单示例
2016/08/03 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
2016/11/04 Javascript
微信小程序 自定义对话框实例详解
2017/01/20 Javascript
基于JS实现仿百度百家主页的轮播图效果
2017/03/06 Javascript
JavaScript实现无穷滚动加载数据
2017/05/06 Javascript
react系列从零开始_简单谈谈react
2017/07/06 Javascript
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
浅谈webpack4 图片处理汇总
2018/09/12 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
python操作数据库之sqlite3打开数据库、删除、修改示例
2014/03/13 Python
Python自动化构建工具scons使用入门笔记
2015/03/10 Python
一条命令解决mac版本python IDLE不能输入中文问题
2018/05/15 Python
python中使用psutil查看内存占用的情况
2018/06/11 Python
用Python进行websocket接口测试
2020/10/16 Python
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
门卫人员岗位职责
2013/12/24 职场文书
发展部经理职责规定
2014/02/22 职场文书
市场部业务员岗位职责
2014/04/02 职场文书
个人作风建设剖析材料
2014/10/11 职场文书
事业单位个人查摆问题及整改措施
2014/10/28 职场文书
超市工作总结范文2014
2014/12/19 职场文书
幼儿园新学期开学寄语
2015/05/27 职场文书
2016计划生育先进个人事迹材料
2016/02/29 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
日本动漫十大公认神作:第五现已全网禁播,《死亡笔记》在榜
2022/03/18 日漫
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript