[英]Change Multiindex values in DataFrame
這是 5 月 DataFrame(兩列: name
和age
以及兩個索引: player_id
和season_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.