Python:从多维表创建一组矢量坐标或矩阵

时间:2016-04-22 11:12:00

标签: python arrays numpy pandas multidimensional-array

如果我有一个包含两个坐标的表,比如(A,B),并且在每个坐标条目处都有一个值C.例如:

      B_1   B_2    B_3  ...
A_1   C1    C2     C3   ...
A_2   C4    etc    ...  ...
A_3   ...
...

我需要的是将其转换为矩阵格式,理想情况下是[ [A_1, B_1], [A_1, B_2], ... ]形式的数组数组和每个[ C1, C2, ]点的相应C值[A,B]的一个数组。

我需要这个的原因是因为我实际上有一个3D(可能是后来的4D)表,我需要这样做,以便我可以对C值进行线性插值。

在numpy或者pandas中是否有任何包或方法可以做到这一点?

目前我把这张桌子写在纸上,通过点(A,B,C)的所有排列及其相关值是非常繁琐的。更容易将其作为表格编写,然后在可能的情况下进行转换。

谢谢。

1 个答案:

答案 0 :(得分:0)

你的问题很安静。你想要A和B是指向某个C的指数吗?或者A和B自己携带价值?

在我的方面有一些猜测,也许这会有所帮助:

import numpy as np

# A values
A = np.arange(0, 8)
# B values
B = np.arange(16, 24)
# The corresponding C Values, where C[n, m] corresponds to A_n, B_m
C = np.arange(8**2).reshape(8, 8)

# Creating an 3x8x8 Array
ABC = np.meshgrid(A, B) + [C,]
ABC = np.array(ABC)

print ABC

您也可以查看itertools.combinations