我有一个多索引pandas数据帧,如下所示:
我希望不同的四分之一是行而不是层次列,即长格式而不是宽格式。如下所示(输出不必是multindex):
我怎么能在熊猫身上做到这一点?在
编辑:
请求的输入文件示例:
样本数据(熊猫):
cols = pd.MultiIndex(levels=[['Center_Details', '2017-18:Q2', '2017-18:Q1'],
['State', 'District', 'Center', 'Offices', 'Deposit', 'Credit']],
labels=[[0, 0, 0, 1, 1, 1, 2, 2, 2],
[0, 1, 2, 3, 4, 5, 3, 4, 5]])
data = [['JAMMU & KASHMIR', 'KUPWARA', 'Drug Mulla (CT)', '3', '500', '600', '4', '500', '600'],
['JAMMU & KASHMIR', 'LEH LADAKH', 'Chuglamsar (CT)', '3', '500', '600', '4', '500', '600'],
['PUNJAB', 'PATHANKOT', 'Mamun (CT)', '3', '500', '600', '4', '500', '600'],
['PUNJAB', 'GURDASPUR', 'TIBRI', '3', '500', '600', '4', '500', '600']]
df = pd.DataFrame(data=data, columns=cols)
稍微修改一下@A5C1D2H2I1M1N2O1R2T1的答案,我发现我仍然可以保留多索引结构:
PS:很抱歉表格格式太难看了,我还是不知道如何在上面创建表格。在
一种方法可以是将},如下所示:
MultiIndex
展平,然后使用melt
和{另一种选择可能是:
^{pr2}$第三个选项是使用
wide_to_long
,但是wide_to_long
要求宽格式的列在开头有存根。该方法与第一种方法类似,但步骤较少。在它看起来像:
你仍然需要对“中心细节”列做一些清理。在
相关问题 更多 >
编程相关推荐