时间:2021-05-22
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 53 4 5 64 5 6 7首先给出最简单的loadtxt的代码
import numpy as npa = np.loadtxt('test.txt')#最普通的loadtxtprint(a)实际上就是直接写文件名, 其他关键字参数都是默认的。输出为
[[1. 2. 3. 4.]
[2. 3. 4. 5.]
[3. 4. 5. 6.]
[4. 5. 6. 7.]]
a为浮点数的原因为Python默认的数字的数据类型为双精度浮点数
%%writefile test.txtA B C1 2 34 5 67 8 9a = np.loadtxt('test1.txt', skiprows=1, dtype=int)print(a)这里的skiprows是指跳过前1行, 如果设置skiprows=2, 就会跳过前两行, 这里的输出为
[[1 2 3]
[4 5 6]
[7 8 9]]
这里的comment的是指, 如果行的开头为#就会跳过该行, 这里输出为
[[1 2 3]
[4 5 6]
[7 8 9]]
这里的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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在Python中我们经常会用到两个库Numpy和pandascsv文件转化为数组importnumpymy_matrix=numpy.loadtxt(open(
利用numpy库(缺点:有缺失值就无法读取)读:importnumpymy_matrix=numpy.loadtxt(open("1.csv","rb"),de
背景np.loadtxt()用于从文本加载数据。文本文件中的每一行必须含有相同的数据。***loadtxt(fname,dtype=,comments='#',
详解Android中TableLayout中stretchColumns、shrinkColumns的用法android:stretchColumns="1"a
numpy.where(condition[,x,y])numpy.where()有两种用法:1.np.where(condition,x,y)满足条件(con