Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否有方法将二维数组加载到三个一维数组中?_Python_Numpy - Fatal编程技术网

Python 是否有方法将二维数组加载到三个一维数组中?

Python 是否有方法将二维数组加载到三个一维数组中?,python,numpy,Python,Numpy,与循环索引相比,是否有更有效的方法或方法将二维numpy数组数据[n,m]加载到三个一维数组X[n*m]、Y[n*m]、和Z[n*m]?我所做的是: n=len(数据[:,0]) m=len(数据[0,:]) X=零(n*m) Y=零(n*m) Z=零(n*m) c=0 对于范围(n)中的i: 对于范围内的j(m): X[c]=i Y[c]=j Z[c]=数据[i,j] c+=1 如果您的代码确实达到了预期效果。这应该是等效的 X,Y = np.indices(data.shape) Z =

与循环索引相比,是否有更有效的方法或方法将二维
numpy
数组
数据[n,m]
加载到三个一维数组
X[n*m]
Y[n*m]
、和
Z[n*m]
?我所做的是:

n=len(数据[:,0])
m=len(数据[0,:])
X=零(n*m)
Y=零(n*m)
Z=零(n*m)
c=0
对于范围(n)中的i:
对于范围内的j(m):
X[c]=i
Y[c]=j
Z[c]=数据[i,j]
c+=1

如果您的代码确实达到了预期效果。这应该是等效的

X,Y =  np.indices(data.shape)
Z = data.ravel()
X = X.ravel()
Y = Y.ravel()

您能提供一个示例阵列吗?另外,您的X和Y阵列(列表?)不是1D,它们仍然具有“大小”
n*m
您所说的“加载2D阵列”是什么意思?“数组”是什么意思?
X
Y
Z
似乎是列表,但
数据
似乎是其他东西——也许是numpy数组
X
Y
似乎是相当无聊的空间浪费,其中包含索引。你需要更具体一些。如果您解释了您实际希望实现的目标并展示了一些实际数据,这会有所帮助。您可能只想使用
data.flat
或,嗯……什么都没有。这种编辑也没有多大意义。x、 y简单地设置为n和m的范围。z保存所有值。我认为您应该展示一些示例输入和输出,以使您的问题更容易理解。您是否正在尝试为X和Y复制
np.indicies
?ravel()而不是flatte(),除非您要复制