1
我的最终目标是在(2,2)多索引数据框内为两行计算pct_change
,但我希望pct_change
行出现在其他两行的下方。我知道pct_change()
方法,但不会创建一个新行,所以我将pct_change作为单独的数据框计算,并将pct_change
行附加到现有数据框。这是一个示例数据框。Python Pandas多重索引:重命名特定索引行值
df = pd.DataFrame(data={
'A': [94128, 28198, -70.04], 'B': [3627, 1483, -59.11]},
index=pd.MultiIndex.from_tuples([('Label', '(Jun 1, 2014-Mar 31, 2015)'),
('Label', '(Jun 1, 2015-Mar 31, 2016)'),
('Label', '(Jun 1, 2015-Mar 31, 2016)')],
names=['Text', 'Period']))
是这样的:
A B
Text Period
Label (Jun 1, 2014-Mar 31, 2015) 94128.00 3627.00
(Jun 1, 2015-Mar 31, 2016) 28198.00 1483.00
(Jun 1, 2015-Mar 31, 2016) -70.04 -59.11
这是一个多指标,我要重命名的最后Period
行值说% Change
。
所需的输出:
A B
Text Period
Label (Jun 1, 2014-Mar 31, 2015) 94128.00 3627.00
(Jun 1, 2015-Mar 31, 2016) 28198.00 1483.00
% Change -70.04 -59.11
是什么,我想给它多指标的复杂性做甚至可能吗?
>>> df.index
MultiIndex(levels=[['Label'], ['(Jun 1, 2014-Mar 31, 2015)', '(Jun 1, 2015-Mar 31, 2016)']],
labels=[[0, 0, 0], [0, 1, 1]],
names=['Text', 'Period'])
太棒了!我必须使用'list(zip(...))'python 3),但是你的方法很有意义。所以外卖就是创建一个包含'%Change'值的全新索引,然后用'new_index'换出当前的多索引。 – Jarad