使用堆栈/堆栈重塑数据框

问题描述

我有一个看起来像这样的数据框:

df1 = pd.DataFrame({'Type' : ['Q','A','A'],'Fields': ['Q1','Pre','Post'],'ChildA' : [0,3,5],'ChildB' : [0,2,3]})

    ChildA  ChildB Fields Field_Type
 0       0       0     Q1          Q
 1       3       2    Pre          A
 2       5       3   Post          A

总共有大约200个孩子和大约50个问题。我想要达到的目标是这样的:

      Name     Question    Pre     Post
   0  ChildA   Q1          3       5
   1  ChildB   Q1          2       3
   2  ChildA   Q2          1       4
   3  ChildB   Q2          3       3

但是我不确定如何最好地解决这个问题,我尝试过stackpivot,但是两者都将返回ValueError: Index contains duplicate entries,cannot reshape,或者当它起作用时,它的格式不是我需要或可以朝着正确的格式努力。到目前为止,我最接近的方法是使用转置df2 = df1[0:3].T,只要我一次处理3行,它就可以正常工作,但这似乎效率很低,而且我知道使用枢轴或堆栈/取消堆叠。

也许这会涉及一些索引,所以我被stack吸引住了,因为pivot在我尝试说出诸如Exception: Data must be 1-dimensional之类的各种问题时>

df1.pivot(columns='Name',values=['Ben','Jack'])

非常感谢您的帮助!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)