Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在数据透视表中设置多级索引_Python_Pandas_Pivot - Fatal编程技术网

Python 在数据透视表中设置多级索引

Python 在数据透视表中设置多级索引,python,pandas,pivot,Python,Pandas,Pivot,我有一个如下所示的数据帧: 并且可以查看和下载 我正在尝试透视这个数据框架,以便“DISTRICT”是索引的第一级,“BLANK”、“CON”、“DEM”、“GRE”、“IND”、“OTH”、“REF”、“REP”、“WEP”、“WOR”列是多级索引的第二级。然后我想将“STATUS”列设置为水平列“Active”和“Inactive”。我编写了以下代码: active_inactive8.pivot(index=['DISTRICT', 'DEM', 'REP', 'CON', 'GRE',

我有一个如下所示的数据帧:

并且可以查看和下载

我正在尝试透视这个数据框架,以便“DISTRICT”是索引的第一级,“BLANK”、“CON”、“DEM”、“GRE”、“IND”、“OTH”、“REF”、“REP”、“WEP”、“WOR”列是多级索引的第二级。然后我想将“STATUS”列设置为水平列“Active”和“Inactive”。我编写了以下代码:

active_inactive8.pivot(index=['DISTRICT', 'DEM', 'REP', 'CON', 'GRE',
                              'WOR', 'IND', 'WEP', 'REF', 'OTH', 'BLANK'],
                       columns='STATUS')
但是得到错误:
ValueError:所有数组的长度必须相同

我也尝试过。融化但没有成功。

我相信需要,但需要必要的转置,最后:


如果您以一种易于复制的形式提供,那么就更容易了。请编辑我的问题,通过GitHub提供数据帧。这两个选项都有效-非常感谢。将在.swaplevel()上阅读
df = pd.read_csv('active_inactive8.csv', index_col=0)

df2 = df.set_index(['STATUS','DISTRICT']).unstack().T.swaplevel(1,0).sort_index()

df2 = df.pivot(index='STATUS', columns='DISTRICT').T.swaplevel(1,0).sort_index()


print (df2.head(10))
STATUS            Active  Inactive
DISTRICT                          
1        BLANK  128547.0    8436.0
         CON     11778.0     643.0
         DEM    144470.0   10086.0
         GRE      1108.0      96.0
         IND     23245.0    1545.0
         OTH       394.0      28.0
         REF        41.0       3.0
         REP    162308.0    8290.0
         WEP       150.0       5.0
         WOR      2066.0     130.0