更改 DataFrame 中的多索引值

发布于 2025-01-12 22:36:22 字数 1090 浏览 0 评论 0原文

这是可能的 DataFrame(两列:nameage 和两个索引:player_idseason_id)。

nameAge
player_idseason_id
99128Fabio33
102828Luigi25

我想以这种方式更改 MultiIndex 内的值:

姓名年龄
球员 ID赛季 id
99126Fabio33
102828Luigi25

我尝试了不同的方法,但没有任何效果。

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

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

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

有人建议吗?

This is may DataFrame (two columns : name and age and two indices : player_id and season_id).

nameage
player_idseason_id
99128Fabio33
102828Luigi25

I want to change a value inside the MultiIndex in this way:

nameage
player idseason id
99126Fabio33
102828Luigi25

I've tried different ways without any effect.

  • 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])

Has someone some suggests?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

十雾 2025-01-19 22:36:22

将列表理解与 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

Use list comprehension with if-else and recreate 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
漆黑的白昼 2025-01-19 22:36:22

这段代码应该可以工作:

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

this code should work either:

df.index.set_levels([26,28], level='season_id', inplace=True)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文