Mac*_*ack 2 python syntax numpy
我相信这个帖子的标题解释了我在寻找什么.我很想知道跳过多行的语法是什么; 我似乎无法在任何地方找到这样的信息.
使用help(np.loadtxt).你会发现skiprows参数将允许你跳过第一N行:
In [1]: import numpy as np
In [2]: help(np.loadtxt)
Help on function loadtxt in module numpy.lib.npyio:
loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0)
...
skiprows : int, optional
Skip the first `skiprows` lines; default: 0.
Run Code Online (Sandbox Code Playgroud)
因此,要跳过N行,你会说
np.loadtxt(fname, skiprows=N)
Run Code Online (Sandbox Code Playgroud)
如果你需要过滤除第一 N行以外的行,那么使用np.genfromtxt哪一行可以使用一个迭代器,它产生字符串作为第一个参数:
with open(filename, 'r') as f:
lines = (line for line in f if predicate(line))
arr = np.genfromtxt(lines)
Run Code Online (Sandbox Code Playgroud)
要跳过中间的一系列行,例如行47--50,您可以这样使用itertools:
import itertools as IT
with open(filename, 'r') as f:
lines = IT.chain(IT.islice(f, 46), IT.islice(f, 4, None))
arr = np.genfromtxt(lines)
Run Code Online (Sandbox Code Playgroud)