からパンダパネルを構築:は、私は構造体の2D numpyの配列を持つ2次元構造numpyの配列
arr = np.zeros((3,5), [('x',int), ('y',float)])
つまり:
array([[(0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0)],
[(0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0)],
[(0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0), (0, 0.0)]],
dtype=[('x', '<i8'), ('y', '<f8')])
私はそれからパンダパネルを作成したいです。
<class 'pandas.core.panel.Panel'>
Dimensions: 3 (items) x 5 (major_axis) x 2 (minor_axis)
Items axis: 0 to 2
Major_axis axis: 0 to 4
Minor_axis axis: x to y
この "作品" が、非常に非効率的と目障りです:
pd.Panel(dict(enumerate(pd.DataFrame(a) for a in arr)))
それが生成する:
pd.Panel(arr)
は、その後、私はこの恐ろしい山を発見した:私は明白なことを試してみました。ValueError: The number of dimensions required is 3, but the number of dimensions of the ndarray given was 2
このようなパネルはどのように構成されるのですか?
編集:https://github.com/pandas-dev/pandas/issues/14511
あなたは後にしている最終的な形状とは何ですか? pd.Panel(arr.reshape(arr.shape [0]、arr.shape [1]))) 'または' pd.Panel(arr.reshape((arr.shape [0]、arr .shape [1]、1))) '? – EdChum
@EdChum:私が質問で書いた恐ろしい杭によって与えられた最終的な形はOKです。あなたが書いたコードはパネルを生成しますが、 'arr'のデータではなくNaNでいっぱいです!私は、恐ろしい山の結果を示すために質問を更新します。 –