简体   繁体   English

Python:从列表数组中提取浮点值

[英]Python: Extracting float values from array of lists

during data processing I create an array looking like this: 在数据处理期间,我创建了一个看起来像这样的数组:

[array([ 0.08606408]) array([ 0.26071976])
 array([ 0.181566  ,  0.94154611]) array([ 0.1734347 ,  0.94160601])
 array([ 0.17859844,  0.94167483]) array([ 0.16880761,  0.94156277])
 array([ 0.17624151,  0.94149038]) array([ 0.18770433,  0.94181287])
 array([ 0.16707977,  0.94227733]) array([ 0.94162233])
 array([ 0.9426902,  0.9615621]) array([ 0.94195127,  0.96174422])
 array([ 0.94237795,  0.96195226,  0.98059446])
 array([ 0.94249657,  0.96219391,  0.98095329])
 array([ 0.94280697,  0.96286183,  0.98109352])
 array([ 0.94267473,  0.96304417,  0.98252799])]

created in the following manner: 以以下方式创建:

peakpositions = []
peakpositions.append(stuff)

How do I extract the float values into a single 1D numpy array? 如何将浮点值提取到单个一维numpy数组中? What I want is this: 我想要的是:

[0.08606408, 0.26071976, 0.181566 ... 0.98252799]

Thanks in advance! 提前致谢!

You can concatenate your inner arrays : 您可以串联内部数组:

peakpositions=np.concatenate(peakpositions)

Demo : 演示:

>>> l= [[array([ 0.08606408]), array([ 0.26071976]),
       array([ 0.181566  ,  0.94154611]),
       array([ 0.1734347 ,  0.94160601]),
       array([ 0.17859844,  0.94167483]),
       array([ 0.16880761,  0.94156277]),
       array([ 0.17624151,  0.94149038]),
       array([ 0.18770433,  0.94181287]),
       array([ 0.16707977,  0.94227733]), array([ 0.94162233]),
       array([ 0.9426902,  0.9615621]), array([ 0.94195127,  0.96174422]),
       array([ 0.94237795,  0.96195226,  0.98059446]),
       array([ 0.94249657,  0.96219391,  0.98095329]),
       array([ 0.94280697,  0.96286183,  0.98109352]),
       array([ 0.94267473,  0.96304417,  0.98252799])]
>>> np.concatenate(l)
array([ 0.08606408,  0.26071976,  0.181566  ,  0.94154611,  0.1734347 ,
        0.94160601,  0.17859844,  0.94167483,  0.16880761,  0.94156277,
        0.17624151,  0.94149038,  0.18770433,  0.94181287,  0.16707977,
        0.94227733,  0.94162233,  0.9426902 ,  0.9615621 ,  0.94195127,
        0.96174422,  0.94237795,  0.96195226,  0.98059446,  0.94249657,
        0.96219391,  0.98095329,  0.94280697,  0.96286183,  0.98109352,
        0.94267473,  0.96304417,  0.98252799])
>>> 

Create an empty list/array and extend it. 创建一个空列表/数组并扩展它。

array_1d = []
for array in arrays:
    array_1d.extend(array)

That should do the magic. 那应该做魔术。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM