三维熊猫数据帧错误“必须通过二维输入”

kel*_*kel 1 python 3d dataframe pandas

我正在尝试将 3-D 数组放入 Pandas 数据框中:

import pandas as pd
import numpy as np
A = np.arange(1, 9).reshape(2, 2, 2)
lable_one = np.array(['one', 'two'])
lable_two = np.array(['a', 'b'])
df = pd.DataFrame(
    A,columns=pd.MultiIndex.from_tuples((lable_one,lable_two)))


columns=pd.MultiIndex.from_tuples((lable_one, lable_two)))
Run Code Online (Sandbox Code Playgroud)

错误:

ValueError: Must pass 2-d input
Run Code Online (Sandbox Code Playgroud)

我想要的输出是:

   one    two
   a  b   a  b
0  1  5   2  7 
1  3  6   4  8
Run Code Online (Sandbox Code Playgroud)

piR*_*red 5

  1. 使用from_product您的列
  2. 转置后重塑您的阵列

lable_one = np.array(['one', 'two'])
lable_two = np.array(['a', 'b'])
cols = pd.MultiIndex.from_product([lable_one, lable_two])

pd.DataFrame(A.T.reshape(2, -1), columns=cols)

  one    two   
    a  b   a  b
0   1  5   3  7
1   2  6   4  8
Run Code Online (Sandbox Code Playgroud)