如何旋转3维以上的数据框?

时间:2018-07-25 17:03:19

标签: python pandas numpy dataframe pivot-table

我目前有一个看起来像这样的数据框:

   x y z val1 val2
0  1 1 1 5    13
1  1 1 2 6    14
2  1 2 1 7    15
3  1 2 2 8    16
4  2 1 1 9    17
5  2 1 2 10   18
6  2 2 1 11   19
7  2 2 2 12   20

我可以使用pd.melt将其转换为:

   x y z val
0  1 1 1 5
1  1 1 1 13
2  1 1 2 6
3  1 1 2 14
4  1 2 1 7
5  1 2 1 15
6  1 2 2 8
7  1 2 2 16
8  2 1 1 9
9  2 1 1 17
10 2 1 2 10
11 2 1 2 18
12 2 2 1 11
13 2 2 1 19
14 2 2 2 12
15 2 2 2 20

我想将其转换为4D numpy数组或3D numpy数组的列表,其中numpy数组的每个条目对应于数据帧中的x,y,z值,第一个数组对应于val1,第二个数组对应到val2等。使用数据透视表似乎很有用,但是我不太清楚如何操作。

我想要的输出看起来像这样:

[[[[5   9]
   [7  11]]

  [[6  10]
   [8  12]]]

 [[[13 16]
   [15 19]]

  [[14 18]
   [16 20]]]]

0 个答案:

没有答案