2016-01-07 25 views
2

有人可以请建议pythonic的方式来打开与dtype = object的numpy数组吗?解开Numpy的“对象”dtypes

例如,如果我开始:

array([array([ 1, 2, 3]), 
     array([ 4, 5, 6]), 
     array([ 7])], dtype=object) 

我想回:

array([ 1, 2, 3, 4, 5, 6, 7]) 

尽快。顺序很重要,实际的数字不只是递增的整数。

背景是数组正在从几GB不同长度和结构的ASCII文件中拉出来,而且数据表在每一行上都有可变数量的列,我只需要保留行 - 然后 - 漂浮物的列顺序。

如果功能存在,我也可以用numpy.loadtxt来做到这一点;我需要逐行扫描文件并查找某些标题,然后导入未知数量的列和数据行,并在整个文件中多次执行此操作。

谢谢你的时间。

回答

1

假设A作为输入数组,你可以使用np.concatenate解开它,就像这样 -

np.concatenate(A) 

采样运行 -

In [325]: A 
Out[325]: array([array([1, 2, 3]), array([4, 5, 6]), array([7])], dtype=object) 

In [326]: np.concatenate(A) 
Out[326]: array([1, 2, 3, 4, 5, 6, 7]) 
+1

完美。谢谢! – heimdall116