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