展开Numpy“对象”dtypes

时间:2016-01-07 18:16:17

标签: python arrays numpy

有人可以建议使用pythonic方法用dtype = object展开numpy数组吗?

例如,如果我开始使用:

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 个答案:

答案 0 :(得分: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])