2016-01-07 29 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