我正在尝试将“b”(列条目由一个分隔符分隔且行由另一个分隔符分隔的字符串)转换为“a”(二维 numpy 数组),例如:

b='191.250\t0.00\t0\t1\n191.251\t0.00\t0\t1\n191.252\t0.00\t0\t1\n'
a=numpy.array([[191.25,0,0,1],[191.251,0,0,1],[191.252,0,0,1]])

我这样做的方式是(根据我的知识,“a”中有 4 列):
a=numpy.array(filter(None,re.split('[\n\t]+',b)),dtype=float).reshape(-1,4)

有没有更好的办法?

最佳答案

这是我为获得您正在寻找的结果所做的工作:

import numpy as np

b='191.250\t0.00\t0\t1\n191.251\t0.00\t0\t1\n191.252\t0.00\t0\t1\n'
a = np.array([[float(j) for j in i.split('\t')] for i in b.splitlines()])

关于python - 将字符串转换为二维 numpy 数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34401709/

10-13 03:25