>我有一个文本文件,每条记录都是一个 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 结构化数组中。 genfromtext
和loadtxt
似乎都希望将数据表示为单行,而不是供应商提供的自定义格式。 我知道可以通过标准 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)