【问题标题】:Numpy genfromtxt with multi-line data具有多行数据的 Numpy genfromtxt
【发布时间】:2018-01-31 14:06:51
【问题描述】:

我有一个文本文件,每条记录都是一个 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 docs 中没有看到任何内容。

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

【问题讨论】:

  • 如果你想提供形状,为什么不在加载后执行reshape?或者你想让genfromtext找出形状?

标签: python numpy


【解决方案1】:

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

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

【讨论】:

  • 这最终成为了解决方案 - 原生阅读,然后使用 numpy 进行重塑。
猜你喜欢
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
  • 2012-05-10
  • 2013-01-14
  • 2016-11-29
  • 2014-02-26
  • 1970-01-01
相关资源
最近更新 更多