【问题标题】:What am i doing wrong with pd.pivot() or pd.pivot_table()我对 pd.pivot() 或 pd.pivot_table() 做错了什么
【发布时间】:2021-11-03 03:25:46
【问题描述】:

我有一个风格的数据框:

     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 我不确定如何交换它们。如果我做错了什么,任何帮助将不胜感激。

【问题讨论】:

    标签: python pandas dataframe pivot-table


    【解决方案1】:

    您可以通过转置数据帧来实现此目的,可以参考其转置属性 (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
    

    【讨论】:

    • 非常感谢!我为此困惑了这么久!
    • 如果您对答案感到满意,请考虑单击它旁边的复选标记,这样问题就会显示为已解决。
    猜你喜欢
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    • 2021-08-05
    • 2011-06-01
    • 1970-01-01
    • 2020-01-29
    • 2011-03-28
    • 1970-01-01
    相关资源
    最近更新 更多