我有一个文本文件,每个记录是一个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 docs中没有看到任何内容。
例如,genfromtxt(fname, skip_header=1, shape=(4,3), dtype=my_custom_dtype)
答案 0 :(得分:3)
我只是将您的数据放入文件并测试loadtxt
。它将所有内容都读入一个数组,然后您只需将其拆分。
a = np.loadtxt(fname)
res = np.vsplit(a, a.shape[0]/4)