我有一个 3 维numpy数组,(z, x, y). z是时间维度,x和y是坐标。
我想将其转换为多索引的pandas.DataFrame. 我希望行索引是 z 维度,并且每列都具有来自唯一 x、y 坐标的值(因此,每列都将是多索引的)。
最简单的情况(不是多索引):
>>> array.shape
(500L, 120L, 100L)
>>> df = pd.DataFrame(array[:,0,0])
>>> df.shape
(500, 1)
Run Code Online (Sandbox Code Playgroud)
我一直在尝试使用 pd.MultiIndex.from_arrays 将整个数组传递到多索引数据帧中,但出现错误:NotImplementedError: > 1 ndim Categorical 目前不支持
看起来它应该相当简单,但我无法弄清楚。
我收到此错误:
类型错误:object() 不带参数
我的代码:
import numpy as np
import pandas as pd
data = np.random.rand(2, 4, 5)
p = pd.Panel(data)
Run Code Online (Sandbox Code Playgroud)
我期望输出:
<class 'pandas.core.panel.Panel'>
Dimensions: 2 (items) x 4 (major_axis) x 5 (minor_axis)
Items axis: 0 to 1
Major_axis axis: 0 to 3
Minor_axis axis: 0 to 4
Run Code Online (Sandbox Code Playgroud)