替换MultiIndex( pandas )中的值 [英] Replace a value in MultiIndex (pandas)
本文介绍了替换MultiIndex( pandas )中的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在以下DataFrame中:如何用["x2", "x2"]
替换["x2", "Total"]
,而将x1
保留原样?
In the following DataFrame: How can I replace ["x2", "Total"]
with ["x2", "x2"]
leaving x1
as is?
l1 900 902 912 913 916
l2 ИП ПС ИП ПС ИП ПС ИП ПС ИП ПС
i1 i2
x1 Total 10 6 3 3 10 16 2 9 3 8
x2 Total 1 0 0 0 0 0 0 0 0 0
.rename
将替换所有"Total"
值,而不仅仅是我需要的值.
.rename
will replace all "Total"
values, not just the one I need.
推荐答案
假定您的数据帧名为df,以下代码将通过用修改后的索引替换现有索引来执行所需的替换.
Assuming your dataframe is called df the following code will perform your desired substitution by replacing the existing index with a modified index.
index = df.index
names = index.names
index = df.index.tolist()[:1]+[('x2','x2')]
df.index = pd.MultiIndex.from_tuples(index, names = names)
或者您可以直接修改索引的内部级别:
Or you can directly modify the inner level of the index:
df.index.set_levels([u'Total', u'x2'],level=1,inplace=True)
df.index.set_labels([0, 1],level=1,inplace=True)
您也可以使用level='i2'
代替level=1
这篇关于替换MultiIndex( pandas )中的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文