我正在研究实时可视化3D点集的问题,我需要将点云转换为特定格式。例如,我得到的原始数据是
[(-1.3604002, -1.0681801, 1.8390535) (-5.5378942, -4.362379 , 7.5151973)
(-0. , -0. , 0. ) ...
( 0. , 0. , 0. ) ( 0. , 0. , 0. )
( 0. , 0. , 0. )]
,格式为(307200,)
。
我正在寻找一种快速的方法来将此数据转换为(307200,3)
numpy数组之类的格式,而无需使用for循环遍历每一点。谢谢。
答案 0 :(得分:0)
我不确定是否要遍历每个点,因为在某个时候,Python必须查看每个值才能将其放入新数组中,但是您可以使用列表推导而不是for循环。他们做同样的事情,但看起来好多了。
import numpy
lst = [(1,2,3), (4,5,6)]
lst = [numpy.asarray(e) for e in lst]
print(lst)
# [[1,2,3], [4,5,6]]