为何使用Numpy.genfromtxt?如何使用?

原因:Python 并没有提供数组功能,虽然列表 (list) 可以完成基本的数组功能,但它并不是真正的数组,而且在数据量较大时,使用列表的速度就会慢的让人难受。为此,Numpy 提供了真正的数组功能,以及对数据快速处理的函数。

用法:

示例:我们以数字示波器采集的实验产生的三角波 (triangular waveform) 为例,它是包含数据信息的表头,以 .txt 格式存储的文本文件

Type:          raw
Points:        16200
Count:         1
...
X Units:       second
Y Units:       Volt
XY Data:
2.4000000E-008, 1.4349E-002
2.4000123E-008, 1.6005E-002
2.4000247E-008, 1.5455E-002
2.4000370E-008, 1.5702E-002
2.4000494E-008, 1.5147E-002
...

为了得到我们需要的有用数据,我们有两个硬的要求: (1) 跳过表头信息;(2) 区分横纵坐标。

import numpy as np
data = np.genfromtxt('waveform.txt',delimiter=',',skip_header=18)

横纵坐标以 ',' 分割,因此给 delimiter 传入 ','。

 有用数据是从19行开始的,因此给 skip_header 传入 18。

print data[0:3,0], data[0:3,1]

因为读入的是二维数据,因此利用 numpy 二维数据的切片方式 (Index slicing) 输出各自的前三个数据验证是否读取正确:

[  2.40000000e-08   2.40001230e-08   2.40002470e-08]
[ 0.014349  0.016005  0.015455]

 

 



上一篇:opengl学习笔记002


下一篇:第二个月课堂004讲解练习题002(经典10题)