簡體   English   中英

給定MultiIndex對象如何更改熊貓DataFrame層次結構索引的值

[英]How to change values of a pandas DataFrame hierarchical index given a MultiIndex object

考慮一個具有層次結構索引(i1,i2)和一些數據列'x'的Pandas DataFrame對象

i1  i2   x
a   0    3
a   1    7
a   2    9
b   0   11
b   1    2

給定一個等效於pd.MultiIndex對象

[('a', '0'), ('a', '1')]

可以采用什么通用方法來修改原始DataFrame的索引以提供:

i1  i2   x
c   0    3
c   1    7
a   2    9
b   0   11
b   1    2

注意:['a',2]不變

我只能想到將索引更改回列,然后再將其放回索引

s=df.index.to_frame()
s.loc[[('a', 0), ('a', 1)],'i1']='c'
df.index=pd.MultiIndex.from_frame(s)
df
Out[164]: 
        x
i1 i2    
c  0    3
   1    7
a  2    9
b  0   11
   1    2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM