gpt4 book ai didi

python - 如何对一级索引进行分组并将函数应用于 Pandas 中的二级索引

转载 作者:行者123 更新时间:2023-12-04 04:19:31 25 4
gpt4 key购买 nike

我有这样的多级数据框“df”:

             col1 col2
first second
a 0 5 5
1 5 5
2 5 5
b 0 5 5
1 5 5

我想将函数 func (exp: 'lambda x: x*10') 应用到 second,有点像:

df.groupby(level='first').second.apply(func)

结果会像这样:

             col1 col2
first second
a 0 5 5
10 5 5
20 5 5
b 0 5 5
10 5 5

上述命令不适用于 second 不是列,因此 .second 不被 Pandas 接受。

我不想通过 df.reset_index() 来做到这一点,blablabla...,然后最后是 df.set_index()。 我更愿意这样做在一个命令中,怎么做?

最佳答案

您可以使用索引的 set_levels 方法来更改给定级别的值。所以对于给定的 funclevel 你可以这样做:

new_values = map(func, df.index.get_level_values(level))
df.index.set_levels(new_values, level, inplace=True)

关于python - 如何对一级索引进行分组并将函数应用于 Pandas 中的二级索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12490762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com