pd.pivot() 或 pd.pivot_table() 我做错了什么

What am i doing wrong with pd.pivot() or pd.pivot_table()

我有一个风格的数据框:

     item1  item2 item3
idx1 val1   val1  val1
idx2 val2   val2  val2
idx3 val3   val3  val3
idx4 val4   val4  val4
idx5 val5   val5  val5

我正在尝试调换它,使其看起来像这样:

      idx1  idx2  idx3  idx4  idx5
item1 val1  val2  val3  val4  val5
item2 val1  val2  val3  val4  val5
item3 val1  val2  val3  val4  val5

本质上,我希望索引成为列,而列成为索引。但是,当我尝试执行 df = pivot_table(df, index=df.columns, columns=df.index) 之类的操作时,我收到一条错误消息,提示 Grouper and axis must be same length 我不确定如何交换它们。如果我做错了什么,请提供任何帮助。

您可以通过转置数据帧来实现此目的,方法是参考其转置属性 (df.T) 或使用其转置方法 (df.transpose()):

>>> df
     item1 item2 item3
idx1  val1  val1  val1
idx2  val2  val2  val2
idx3  val3  val3  val3
idx4  val4  val4  val4
idx5  val5  val5  val5
>>> df = df.T
>>> df
       idx1  idx2  idx3  idx4  idx5
item1  val1  val2  val3  val4  val5
item2  val1  val2  val3  val4  val5
item3  val1  val2  val3  val4  val5