在python中解压缩数组

时间:2017-09-09 17:44:11

标签: python arrays numpy iterable-unpacking

我有一个(1000L, 3L)形状的可变数据,我执行以下操作来获取坐标:

x = data[:,0]
y = data[:,1]
z = data[:,2]

有没有办法打开它们?我试过但它不起作用:

[x,y,z] = data1[:,0:3]

2 个答案:

答案 0 :(得分:2)

在解包前你可以简单地transpose

x, y, z = data.T

解压缩“解包”数组的第一个维度,并通过转置您的数组,尺寸为3的维度将是第一个维度。这就是为什么它不能与[x, y, z] = data1[:, 0:3]一起使用,因为它试图将1000个值解包为3个变量。

答案 1 :(得分:2)

您可以使用zip解压缩:

x, y, z = zip(*data[:, :3])