我正在尝试将“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/