numpy.loadtxt

原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html

译者:飞龙 UsyiyiCN

校对:(虚位以待)

numpy.loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)[source]

从文本文件加载数据。

文本文件中的每一行必须具有相同数量的值。

参数:

fname:文件或str

要读取的文件,文件名或生成器。如果文件扩展名为.gz.bz2,则文件首先解压缩。注意,生成器应该返回Python 3k的字节字符串。

dtype:数据类型,可选

数组的数据类型; default:float。如果这是一个结构化数据类型,结果数组将是一维的,每行将被解释为数组的一个元素。在这种情况下,使用的列数必须与数据类型中的字段数匹配。

注释:str或sequence,可选

用于指示注释开始的字符或字符列表;默认值:'#'。

分隔符:str,可选

用于分隔值的字符串。默认情况下,这是任何空格。

转换器:dict,可选

将列号映射到将该列转换为float的函数的字典。例如,如果第0列是日期字符串:转换器 = {0: datestr2num} t0>。转换器还可用于为缺少的数据提供默认值(但请参阅genfromtxt):转换器 = { 3: lambda s: float(s.strip() }默认值:无。

skiprows:int,可选

跳过第一个skiprows行;默认值:0。

usecols:sequence,可选

要读取哪些列,0是第一列。例如,usecols = (1,4,5)将提取第2,第5和第6列。默认值“无”导致读取所有列。

解包:bool,可选

如果为真,则返回的数组被转置,使得可以使用x, y, z = loadtxt(...)与结构化数据类型一起使用时,将为每个字段返回数组。默认值为False。

ndmin:int,可选

返回的数组至少具有ndmin维度。否则将挤压单维轴。合法值:0(默认值),1或2。

版本1.6.0中的新功能。

返回:

out:ndarray

从文本文件读取的数据。

也可以看看

loadfromstringfromregex

genfromtxt
加载具有如指定处理的缺失值的数据。
scipy.io.loadmat
读取MATLAB数据文件

笔记

此功能旨在成为简单格式化文件的快速读取器。genfromtxt函数提供更复杂的处理,例如,具有缺失值的行。

版本1.10.0中的新功能。

通过Python float.hex方法生成的字符串可以用作浮点数的输入。

例子

>>> from io import StringIO   # StringIO behaves like a file object
>>> c = StringIO("0 1\n2 3")
>>> np.loadtxt(c)
array([[ 0.,  1.],
       [ 2.,  3.]])
>>> d = StringIO("M 21 72\nF 35 58")
>>> np.loadtxt(d, dtype={'names': ('gender', 'age', 'weight'),
...                      'formats': ('S1', 'i4', 'f4')})
array([('M', 21, 72.0), ('F', 35, 58.0)],
      dtype=[('gender', '|S1'), ('age', '<i4'), ('weight', '<f4')])
>>> c = StringIO("1,0,2\n3,0,4")
>>> x, y = np.loadtxt(c, delimiter=',', usecols=(0, 2), unpack=True)
>>> x
array([ 1.,  3.])
>>> y
array([ 2.,  4.])