我有几个二维numpy阵列(矩阵),我想将它转换为包含数组值和包含每个行/列索引的向量的向量。平坦numpy数组,但也保持价值位置的指数?
比如我可能有一个这样的数组:
x = np.array([[3, 1, 4],
[1, 5, 9],
[2, 6, 5]])
我基本上想要的值
[3, 1, 4, 1, 5, 9, 2, 6, 5]
和位置
[[0,0], [0,1], [0,2], [1,0], [1,1], [1,2], [2,0], [2,1], [2,2]]
我的最终目标是把这些像熊猫这样的DataFrame这样的列:
V | x | y
--+---+---
3 | 0 | 0
1 | 0 | 1
4 | 0 | 2
1 | 1 | 0
5 | 1 | 1
9 | 1 | 2
6 | 2 | 0
5 | 2 | 1
3 | 2 | 2
其中V是值,x是行位置(索引),y是列位置(索引)。
我想我可以一起破解一些东西,但我试图找到这样做的有效方式,而不是摸索。例如,我知道我可以使用类似x.reshape(x.size, 1)
的值来获取值,并且我可以尝试从x.shape
创建索引列,但似乎应该有更好的方法。
我想'reshape'执行时间不变并且为了创建索引,你只需要一个'for'。 – Tempux
你是什么意思只有一个'for'?我明白,“重塑”的效率大致如此。 – user12202013