【发布时间】:2015-06-24 22:49:58
【问题描述】:
我有一个列表理解,我正在努力解决问题,但我似乎无法得到我想要的东西,我想看看是否有其他人知道!
我的基本数据结构是这样的:
structure = [[np.array([[1,2,3],[4,5,6]]), np.array([[7,8,9],[10,11,12]])], [np.array([[13,14,15],[16,17,18]]), np.array([[19,20,21],[22,23,24]])]]
所以我有一个包含 numpy 数组的子列表的整体列表,我想要的输出是某种分组(不管它是列表还是数组),并与以下元素配对:
[1, 13]
[4, 16]
[2, 14]
[5, 17]
[3, 15]
[6, 18]
我以为我可以使用以下样式构造:
output = [structure[i][0][j] for j in range(9) for i in range(len(structure))] 但可惜,没有乐趣。
我真的不介意它是否需要多个阶段 - 只是想将这些元素组合在一起!
(作为背景知识 - 我有从各种模型输出的概率列表,在这些模型中我有一个训练列表和一个验证列表:
[[model_1], [model_2], ..., [model_n]]
其中[model_1] 是[[training_set], [validation_set], [test_set]]
而[training_set] 是np.array([p_1, p_2, ..., p_n],[p_1, p_2, ..., p_n],...])
我想将每个模型的项目 1 的预测组合在一起,并从中创建一个长度等于我拥有的模型数量的训练向量。然后我想做同样的事情,但对于 [training_set] 的第二行。
如果这不合理,请告诉我!
【问题讨论】:
-
别误会——这不是一个理想的数据结构!这是因为它允许我轻松添加任意数量的模型,然后根据这些模型的输出构建线性模型。我认为将外部分组设置为:
training_set = [[model_1], [model_2], ..., [model_n]]我很乐意将我的列表拆分为单独的变量,因为它可能会使事情变得更容易! -
嘿抱歉我删除了我的评论,因为我意识到我读错了..
标签: python numpy list-comprehension slice