【问题标题】:converting an string matrix to numpy ndarray将字符串矩阵转换为 numpy ndarray
【发布时间】:2022-01-28 11:19:49
【问题描述】:

考虑如下矩阵:

+0.00000E+00 +0.00000E+00\n +0.00000E+00 +0.00000E+00\n +0.00000E+00 +0.00000E+00

最初是从文本文件中提取的,我想将其转换为大小为 3 x 2 的带有纯 int 元素的 numpy ndarray。 我尝试了简单的 int 函数、pickle 模块和其他一些方法,但没有成功。

【问题讨论】:

  • 你能分享你的尝试吗?
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: python parsing integer


【解决方案1】:

你可以这样做:

string = "+0.00000E+00 +0.00000E+00\n +0.00000E+00 +0.00000E+00\n +0.00000E+00 +0.00000E+00"
array_n = re.findall(r'\S+', string)
array_n = np.array(array_n).astype(float)

array_out = array_n.reshape(3,2)

给出:

array([['+0.00000E+00', '+0.00000E+00'],
       ['+0.00000E+00', '+0.00000E+00'],
       ['+0.00000E+00', '+0.00000E+00']], dtype='<U12')

【讨论】:

  • 字符串是矩阵中的一行还是读取txt文件的输出?原来的样子怎么样?
  • 字符串是从包含许多其他字段的文本中提取的。该解决方案完全有效。刚刚添加:“array_n = np.array(array_n).astype(float)”以获得所需的输出。谢谢
  • 很高兴有帮助!!快乐编码!如果这是您想要的答案,请将其标记为已接受。我会更新的。
猜你喜欢
  • 1970-01-01
  • 2020-08-14
  • 2019-11-24
  • 1970-01-01
  • 1970-01-01
  • 2017-03-10
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
相关资源
最近更新 更多