Unpacking an array in python
21,502
Solution 1
You could simply transpose it before unpacking:
x, y, z = data.T
Unpacking "unpacks" the first dimensions of an array and by transposing the your array the size-3 dimension will be the first dimension. That's why it didn't work with [x, y, z] = data1[:, 0:3]
because that tried to unpack 1000 values into 3 variables.
Solution 2
You could unpack using zip
:
x, y, z = zip(*data[:, :3])
Author by
SEU
Updated on September 10, 2020Comments
-
SEU almost 4 years
I have a variable data that is of
(1000L, 3L)
shape and I do the following to get the coordinates:x = data[:,0] y = data[:,1] z = data[:,2]
Is there a way to unpack them? I tried but it doesn't work:
[x,y,z] = data1[:,0:3]