首页 > 解决方案 > 从元组列表中的项目构建 2D numpy 数组

问题描述

给定一个 python 元组列表,例如:

test = [(1, 'string1', 47.9, -112.8, 6400.0),
        (2, 'string2', 29.7, -90.8, 11.0),
        (3, 'string3', 30.8, -99.1, 1644.0),
        (4, 'string4', 45.8, -110.9, 7500.0),
        (5, 'string5', 43.9, -69.8, 25.0)]

使用每个元组的第 3 项和第 4 项构建 2D numpy 数组的最有效方法是什么?

期望的输出是:

array([[47.9, 29.7, 30.8, 45.8, 43.9],
       [-112.8, -90.8, -99.1, -110.9, -69.8]]) 

标签: pythonnumpy

解决方案


您可以使用选择第 3 项和第 4 项的列表理解来准备 numpy 之外的数据。然后你只需要转置结果数组:

np.array([x[2:4] for x in test]).T

推荐阅读