Numpy genfromtxt with multi-line data



>我有一个文本文件,每条记录都是一个 4x3 的数值块,例如

1 1 1
1.0 1.0 1.0
1.0 1.0 1.0
1.0 1.0 1.0
2 2 2
2.0 2.0 2.0
2.0 2.0 2.0
2.0 2.0 2.0

我正在尝试将这些读取到一个 numpy 结构化数组中。 genfromtextloadtxt似乎都希望将数据表示为单行,而不是供应商提供的自定义格式。 我知道可以通过标准 python 读取行,将每组 4 行推入一个字符串,然后将字符串传递给 numpy,但我想知道 numpy 是否原生支持这种类型的操作?我在 genfromtxt 文档中没有看到任何内容。

例如,genfromtxt(fname, skip_header=1, shape=(4,3), dtype=my_custom_dtype)

我只是将您的数据放入一个文件中并测试loadtxt.它将所有内容读取到单个数组中,然后您只需将其拆分即可。

a = np.loadtxt(fname)
res = np.vsplit(a, a.shape[0]/4)

最新更新