NumPy numpy.loadtxt()的用法

NumPy numpy.loadtxt()的用法

Python的numpy模块提供了一个从文本文件中加载数据的函数。numpy模块提供了 loadtxt() 函数,用于快速读取简单的文本文件。

注意:在文本文件中,每一行必须具有相同数量的值。

语法

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

参数

numpy.loadtxt()函数使用以下参数:

fname: 文件,字符串或路径

此参数定义要读取的文件、文件名或生成器。首先,如果文件名的扩展名是 .gz.bz2 ,则我们将分解文件。之后,生成器将返回 Python 3k的字节字符串。

dtype: 数据类型(可选)

此参数定义结果数组的数据类型,默认为float类型。当数据类型为结构化类型时,结果数组将是一维的。每行都被解释为一个数组元素,使用的列数必须与数据类型中的字段数匹配。

comments: 字符串或序列(可选)

此参数定义用于指示注释开始的字符或字符列表。默认情况下,为 #

delimiter: 字符串(可选)

此参数定义用于分隔值的字符串。默认情况下,为任意的空白字符。

converters: 字典(可选)

此参数定义将列号映射为将映射列转换为float类型的函数的字典。当column()是一个日期字符串时,使用 converters={0:datestr2num} 。此参数还用于为缺失数据提供默认值,例如 converters={3: lambda s: float(s.strip() or 0)}

skiprows: 整数(可选)

此参数用于跳过前面的’skiprows’行,默认为0。

usecols: 整数或序列(可选)

此参数定义要读取的列,其中0表示第一列。例如,usecols=(0, 3, 5)将提取第1、第4和第5列。默认情况下,其值为None,表示读取所有列。在新版本中,如果要读取单个列,可以使用整数而不是元组。

unpack: 布尔值(可选)

如果此参数设置为true,则返回的数组将被转置,以便可以使用 x, y, z =loadtxt(…) 解包参数。当与结构化数据类型一起使用时,将为每个字段返回数组。默认情况下,它设置为False。

ndim: 整数(可选)

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

返回值: out(ndarray)

它以ndarray的形式从文本文件中读取数据。

示例1

import numpy as np
from io import StringIO
c = StringIO(u"0 1\n2 3")
c
np.loadtxt(c)

输出:

<_io.StringIO object at 0x000000000A4C3E48>
array([[0., 1.],
        [2., 3.]])

在上面的代码中

  • 我们使用别名np导入了numpy。
  • 我们还从io中导入了StringIO。
  • 我们声明了变量’c’并给它赋值StringIO()函数的返回值。
  • 我们将Unicode数据传递给了函数。
  • 最后,我们尝试打印传递了文件或文件名的np.loadtxt()的返回值。

在输出中,它以ndarray的形式显示了文件的内容。

示例2

import numpy as np
from io import StringIO
d = StringIO(u"M 21 72\nF 35 58")
np.loadtxt(d, dtype={'names': ('gender', 'age', 'weight'),'formats': ('S1', 'i4', 'f4')})

输出:

array([('M', 21, 72.), ('F', 35, 58.)], dtype=[('gender', 'S1'), ('age', '<i4'), ('weight', '<f4')])

示例3

import numpy as np
from io import StringIO
c = StringIO(u"1,3,2\n3,5,4")
x, y = np.loadtxt(c, delimiter=',', usecols=(0, 2), unpack=True)
x
y

输出:

array([1., 3.])
array([2., 4.])

在上面的代码中

  • 我们使用别名np导入了numpy。
  • 我们还从io中导入了StringIO。
  • 我们声明了变量’c’并将StringIO()函数的返回值赋值给它。
  • 我们将Unicode数据传递给函数。
  • 最后,我们尝试打印np.loadtxt的返回值,其中我们传递了文件或文件名,设置了分隔符,使用了usecols,并将unpack设为True。

在输出中,文件的内容以ndarray的形式显示出来。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程