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使用函数默认值实现函数静态变量的方法
Aug 18 Python
pygame播放音乐的方法
May 19 Python
Python存取XML的常见方法实例分析
Mar 21 Python
itchat和matplotlib的结合使用爬取微信信息的实例
Aug 25 Python
Python实现可自定义大小的截屏功能
Jan 20 Python
Python实现XML文件解析的示例代码
Feb 05 Python
Python爬虫框架Scrapy实例代码
Mar 04 Python
在CMD命令行中运行python脚本的方法
May 12 Python
python 移除字符串尾部的数字方法
Jul 17 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
Dec 05 Python
Django unittest 设置跳过某些case的方法
Dec 26 Python
python基于tkinter制作下班倒计时工具
Apr 28 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异步执行的详解
2013/06/03 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
js中一个函数获取另一个函数返回值问题探讨
2013/11/21 Javascript
js arguments,jcallee caller用法总结
2013/11/30 Javascript
JavaScript使用循环和分割来替换和删除元素实例
2014/10/13 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
NodeJs基本语法和类型
2015/02/13 NodeJs
JavaScript实现多种排序算法
2016/02/24 Javascript
微信小程序 地图map详解及简单实例
2017/01/10 Javascript
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
原生JS+CSS实现炫酷重力模拟弹跳系统的登录页面
2017/11/01 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
JavaScript学习笔记之数组基本操作示例
2019/01/09 Javascript
vue前端框架—Mint UI详解(更适用于移动端)
2019/04/30 Javascript
vue.js 2.*项目环境搭建、运行、打包发布的详细步骤
2019/05/01 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
Vue 解决多级动态面包屑导航的问题
2019/11/04 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
[10:18]2018DOTA2国际邀请赛寻真——Fnatic能否笑到最后?
2018/08/14 DOTA
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
python自动下载图片的方法示例
2020/03/25 Python
浅谈Html5移动端ios/Android兼容性总结
2018/06/01 HTML / CSS
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
Mybag美国/加拿大:英国奢华包包和名牌手袋网站
2020/02/16 全球购物
工作作风承诺书
2014/08/30 职场文书
小学班主任自我评价
2015/03/11 职场文书
银行客户经理岗位职责
2015/04/09 职场文书
自制短波长线天线频率预选器 - 成功消除B2K之流的镜像
2021/04/22 无线电
使用Redis实现秒杀功能的简单方法
2021/05/08 Redis
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server