Python 将数据帧的子集转置为多索引数据帧

Python 将数据帧的子集转置为多索引数据帧,python,pandas,Python,Pandas,我有以下数据帧: df.head(14) 我只想转换yr和['WA_uu','BA_u','IA_u','AA_u','NA_u','TOM_u'] 标签上的变量。然后,生成的数据帧应该是一个多索引帧,带有标签和WA_u、BA_u等,列名称将是2010、2011等。我已经尝试过, transpose()、groubby()、pivot\u table()、long\u to\u wide(), 在我通过这个df一行一行地滚动我自己的嵌套循环之前,我想我应该ping社区。每个标签组都有类似的

我有以下数据帧:

df.head(14) 

我只想转换yr和
['WA_uu','BA_u','IA_u','AA_u','NA_u','TOM_u']
标签上的变量。然后,生成的数据帧应该是一个多索引帧,带有标签和WA_u、BA_u等,列名称将是2010、2011等。我已经尝试过,
transpose()、groubby()、pivot\u table()、long\u to\u wide(),
在我通过这个df一行一行地滚动我自己的嵌套循环之前,我想我应该ping社区。每个标签组都有类似的内容:


我觉得答案就在其中一个函数中,但我只是错过了它。谢谢你的帮助

从您的演示屏幕截图中可以看出,您希望
WA_
BA_
等作为行,
yr
作为列,而
Label
作为行索引保留。如果是,请考虑<代码> STACK()/<代码>和<代码> unSTACK()>代码>:< /P> 现在将
Label
yr
设置为索引

df.set_index(["Label","yr"], inplace=True)
从这里开始,
unstack()
将把最里面的索引转到列。然后,
stack()

df.unstack().stack(level=0)

yr                     2010   2011   2012   2013   2014   2015   2016
Label                                                               
Albany County   AA_   27757  37135  11017  24406  29874  24409  31787
                BA_   23138  30525  16448  21758  33105  27454  11301
                IA_   10476  12296  17955  15538  23106  14510  39259
                NA_   20047  22809  33310  32746  30216  34497  12081
                TOM_  34015  27235  11956  38139  30176  10326  31513
                WA_   12457  29045  19070  39553  13380  29278  13820
Big Horn County AA_   17119  13663  37861  29095  26966  28216  25440
                BA_   20961  33901  39864  27760  39095  33354  28405
                IA_   21526  12420  29512  12304  39031  35498  23847
                NA_   37450  27700  24270  29987  26582  23514  26475
                TOM_  14937  30409  15853  31481  22851  23879  20780
                WA_   11516  26235  29813  39632  18194  17983  29692

如果您可以发布您尝试过的实际代码,使用示例数据,而不是屏幕截图,这会有所帮助(请参阅)。另外,考虑至少提供初始数据帧和期望数据帧的<代码>(或)代码>。是的,我完全理解这一点。我有15段代码,我将发布最接近我的一段。她就在那里。完美!我没想过要把unstack和stack链接起来,但它奏效了!
df.unstack().stack(level=0)

yr                     2010   2011   2012   2013   2014   2015   2016
Label                                                               
Albany County   AA_   27757  37135  11017  24406  29874  24409  31787
                BA_   23138  30525  16448  21758  33105  27454  11301
                IA_   10476  12296  17955  15538  23106  14510  39259
                NA_   20047  22809  33310  32746  30216  34497  12081
                TOM_  34015  27235  11956  38139  30176  10326  31513
                WA_   12457  29045  19070  39553  13380  29278  13820
Big Horn County AA_   17119  13663  37861  29095  26966  28216  25440
                BA_   20961  33901  39864  27760  39095  33354  28405
                IA_   21526  12420  29512  12304  39031  35498  23847
                NA_   37450  27700  24270  29987  26582  23514  26475
                TOM_  14937  30409  15853  31481  22851  23879  20780
                WA_   11516  26235  29813  39632  18194  17983  29692