本文简要介绍 python 语言中 numpy.loadtxt
的用法。
用法:
numpy.loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes', max_rows=None, *, like=None)
从文本文件加载数据。
文本文件中的每一行必须具有相同数量的值。
- fname: 文件、str、pathlib.Path、str 列表、生成器
要读取的文件、文件名、列表或生成器。如果文件扩展名是
.gz
或.bz2
,则首先解压缩文件。请注意,生成器必须返回字节或字符串。列表中的字符串或由生成器生成的字符串被视为行。- dtype: 数据类型,可选
结果数组的数据类型;默认值:浮点数。如果这是结构化数据类型,则生成的数组将是一维的,并且每一行将被解释为数组的一个元素。在这种情况下,使用的列数必须与数据类型中的字段数匹配。
- comments: str 或 str 序列,可选
用于指示注释开始的字符或字符列表。无意味着没有评论。为了向后兼容,字节串将被解码为‘latin1’。默认值为“#”。
- delimiter: str,可选
用于分隔值的字符串。为了向后兼容,字节串将被解码为‘latin1’。默认值为空格。
- converters: 字典,可选
将列号映射到函数的字典,该函数将列字符串解析为所需的值。例如,如果第 0 列是日期字符串:
converters = {0: datestr2num}
。转换器还可以用于为丢失的数据提供默认值(但另请参见genfromtxt
):converters = {3: lambda s: float(s.strip() or 0)}
。默认值:无。- skiprows: 整数,可选
跳过第一行,包括注释;默认值:0。
- usecols: int 或序列,可选
要读取的列,0 是第一个。例如,
usecols = (1,4,5)
将提取第 2、第 5 和第 6 列。默认值 None 会导致读取所有列。- unpack: 布尔型,可选
如果为 True,则返回的数组被转置,以便可以使用
x, y, z = loadtxt(...)
解包参数。当与结构化数据类型一起使用时,将为每个字段返回数组。默认为假。- ndmin: 整数,可选
返回的数组至少有 ndmin 维度。否则mono-dimensional轴将被挤压。合法值:0(默认)、1 或 2。
- encoding: str,可选
用于解码输入文件的编码。不适用于输入流。特殊值 ‘bytes’ 启用向后兼容性解决方法,确保您尽可能接收字节数组作为结果,并将 ‘latin1’ 编码字符串传递给转换器。覆盖此值以接收 unicode 数组并将字符串作为输入传递给转换器。如果设置为无,则使用系统默认值。默认值为‘bytes’。
- max_rows: 整数,可选
在跳过行之后阅读 max_rows 行内容。默认是读取所有行。
- like: array_like
允许创建非 NumPy 数组的引用对象。如果作为
like
传入的类似数组支持__array_function__
协议,则结果将由它定义。在这种情况下,它确保创建一个与通过此参数传入的数组对象兼容的数组对象。
- out: ndarray
从文本文件中读取的数据。
参数:
返回:
注意:
此函数旨在成为简单格式文件的快速阅读器。
genfromtxt
函数提供了更复杂的处理,例如,具有缺失值的行。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([(b'M', 21, 72.), (b'F', 35, 58.)], 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.])
此示例显示如何使用转换器将带有尾随减号的字段转换为负数。
>>> s = StringIO('10.01 31.25-\n19.22 64.31\n17.57- 63.94') >>> def conv(fld): ... return -float(fld[:-1]) if fld.endswith(b'-') else float(fld) ... >>> np.loadtxt(s, converters={0: conv, 1: conv}) array([[ 10.01, -31.25], [ 19.22, 64.31], [-17.57, 63.94]])
相关用法
- Python numpy load用法及代码示例
- Python numpy logaddexp用法及代码示例
- Python numpy log10用法及代码示例
- Python numpy logspace用法及代码示例
- Python numpy lookfor用法及代码示例
- Python numpy log用法及代码示例
- Python numpy logaddexp2用法及代码示例
- Python numpy log2用法及代码示例
- Python numpy logical_xor用法及代码示例
- Python numpy log1p用法及代码示例
- Python numpy logical_and用法及代码示例
- Python numpy logical_not用法及代码示例
- Python numpy logical_or用法及代码示例
- Python numpy legendre.legint用法及代码示例
- Python numpy linalg.svd用法及代码示例
- Python numpy laguerre.lagone用法及代码示例
- Python numpy linalg.pinv用法及代码示例
- Python numpy linalg.eigh用法及代码示例
- Python numpy linalg.tensorinv用法及代码示例
- Python numpy laguerre.lagdomain用法及代码示例
- Python numpy laguerre.lagzero用法及代码示例
- Python numpy legendre.legmulx用法及代码示例
- Python numpy less用法及代码示例
- Python numpy linalg.LinAlgError用法及代码示例
- Python numpy linalg.matrix_rank用法及代码示例
注:本文由纯净天空筛选整理自numpy.org大神的英文原创作品 numpy.loadtxt。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。