I've got a list comprehension I'm trying to get my head around and I just can't seem to get what I'm after and thought I'd see if anybody else knew how!
My basic data structure is this:
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]])]]
So I've got an overall list containing sublists of numpy arrays and my desired output is some sort of grouping (don't care if it's a list or an array) with the following elements paired:
[1, 13]
[4, 16]
[2, 14]
[5, 17]
[3, 15]
[6, 18]
I thought I'd got it with the following style construct:
output = [structure[i][0][j] for j in range(9) for i in range(len(structure))] but alas, no joy.
I don't really mind if it needs more than one stage - just want to get those elements grouped together!
(as a bit of background - I've got lists of probabilities outputted from various models and within those models I've got a training list and a validation list:
[[model_1], [model_2], ..., [model_n]]
where [model_1] is [[training_set], [validation_set], [test_set]]
and [training_set] is np.array([p_1, p_2, ..., p_n],[p_1, p_2, ..., p_n],...])
I'd like to group together the prediction for item 1 for each of the models and create a training vector out of it of length equal to the number of models I've got. I'd then like to do the same but for the second row of [training_set].
If that doesn't make sense let me know!
training_set = [[model_1], [model_2], ..., [model_n]]I'd happily split out my lists into separate variables as it'll likely make things easier!