簡體   English   中英

更改 DataFrame 中的多索引值

[英]Change Multiindex values in DataFrame

這是 5 月 DataFrame(兩列: nameage以及兩個索引: player_idseason_id )。

名稱 年齡
player_id season_id
991 28 法比奧 33
1028 28 路易吉 25

我想以這種方式更改 MultiIndex 中的值:

名稱 年齡
玩家編號 季號
991 26 法比奧 33
1028 28 路易吉 25

我嘗試了不同的方法,但沒有任何效果。

  • df.loc[[(991,28)]].index.set_levels = (991,26)

  • df.loc[[(991,28)]].index.set_levels([991,26], inplace=True)

  • df.loc[[(991,28)]].index = df.loc[[(991,28)]].index.set_levels([991,26])

有人有建議嗎?

將列表理解與if-else結合使用並重新創建df.index

df.index = pd.MultiIndex.from_tuples([(991,26) if x == (991,28) else x for x in df.index], 
                                     names=df.index.names)
print (df)
                      name  age
player_id season_id            
991       26         Fabio   33
1028      28         Luigi   25

此代碼應該可以工作:

df.index.set_levels([26,28], level='season_id', inplace=True)

暫無
暫無

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

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