【发布时间】:2018-01-16 10:40:48
【问题描述】:
我有一个 MultiIndex pandas 数据框,如下所示:
我希望将不同的季度作为行而不是分层列,即长格式而不是这种宽格式。像这样的东西(输出不必是多索引):
如何在 Pandas 中做到这一点?
编辑:
根据要求提供示例输入文件:
样本数据(熊猫):
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)
【问题讨论】:
-
@mudassirkhan19 请花时间阅读this。在问题中提供文件链接通常也是一种不好的做法,尤其是在询问有关 pandas 数据框的问题时。
-
在 R 中,您可能只使用“data.table”包中的
melt。 R 不支持分层列名。 -
@cmaher 感谢指南的链接,在这种情况下我已经给出了文件的链接,因为我不知道如何在 R 中生成示例多索引数据。