I have an specific array which each rows has to array. I want to reshape it. But, I don’t know how to reshape it to a 2d array. Here is my array:
JavaScript
x
14
14
1
x = np.array([[[array([0.23006942, 0.29322573, 0.37292298]),
2
array([0.23006942])],
3
[array([0.29322573, 0.37292298, 0.23006942]),
4
array([0.32480389])],
5
[array([0.37292298, 0.23006942, 0.32480389]),
6
array([0.31427784])]],
7
8
[[array([0.09971349, 0.08827682, 0.0900638 ]),
9
array([0.02251595])],
10
[array([0.08827682, 0.0900638 , 0.02251595]),
11
array([0.0986413])],
12
[array([0.0900638 , 0.02251595, 0.0986413 ]),
13
array([0.02144376])]]], dtype=object)
14
Here is the desired output:
JavaScript
1
17
17
1
out = np.array(
2
3
[
4
[array([0.23006942, 0.29322573, 0.37292298]),array([0.23006942])],
5
6
[array([0.29322573, 0.37292298, 0.23006942]),array([0.32480389])],
7
8
[array([0.37292298, 0.23006942, 0.32480389]),array([0.31427784])],
9
10
[array([0.09971349, 0.08827682, 0.0900638 ]),array([0.02251595])],
11
12
[array([0.08827682, 0.0900638 , 0.02251595]),array([0.0986413])],
13
14
[array([0.0900638 , 0.02251595, 0.0986413 ]),array([0.02144376])]
15
16
])
17
Any help appreciated.
Thanks
I’ve tried to use the reshape. But, it does not solve.
Advertisement
Answer
It’s ragged, it’s not concatenated. Is it a question of flattening the array to a list of arrays?
JavaScript
1
2
1
out = [x.tolist() for arr in x for x in arr]
2
Output:
JavaScript
1
7
1
[[array([0.23006942, 0.29322573, 0.37292298]), array([0.23006942])],
2
[array([0.29322573, 0.37292298, 0.23006942]), array([0.32480389])],
3
[array([0.37292298, 0.23006942, 0.32480389]), array([0.31427784])],
4
[array([0.09971349, 0.08827682, 0.0900638 ]), array([0.02251595])],
5
[array([0.08827682, 0.0900638 , 0.02251595]), array([0.0986413])],
6
[array([0.0900638 , 0.02251595, 0.0986413 ]), array([0.02144376])]]
7