gpt4 book ai didi

python pandas - 在groupby之后选择特定值

转载 作者:行者123 更新时间:2023-11-28 20:14:43 25 4
gpt4 key购买 nike

我有 groupby 表:

df.groupby(['Age', 'Movie']).mean()

User Raitings
Age Movie
1 1 4.666667 7.666667
2 4.666667 8.000000
3 2.000000 7.500000
4 2.000000 5.500000
5 3.000000 7.000000
18 1 3.000000 7.500000
2 3.000000 8.000000
3 3.000000 8.500000
25 1 8.000000 7.250000
2 8.000000 7.500000
3 5.500000 8.500000
4 5.000000 7.000000
45 1 9.000000 7.500000
2 9.000000 7.500000
3 11.000000 7.000000
4 11.000000 6.000000
60 1 8.000000 7.000000
2 8.000000 9.000000
3 8.000000 7.000000

请帮助函数,该函数采用整数 (Age) 并返回此年龄组中具有 MIN raitings 的电影。示例 def(1) 应返回 4(年龄组中的最小 Raitings(1)= 5.5,电影(5.5)= 4)

我可以获得最低评级:

df['Raitings'].min()

但我不知道 - 如何获得特定群体(年龄)的评级?

最佳答案

源多索引DF:

In [221]: x
Out[221]:
User Raitings
Age Movie
1.0 1 4.666667 7.666667
2 4.666667 8.000000
3 2.000000 7.500000
4 2.000000 5.500000
5 3.000000 7.000000
18.0 1 3.000000 7.500000
2 3.000000 8.000000
3 3.000000 8.500000
25.0 1 8.000000 7.250000
2 8.000000 7.500000
3 5.500000 8.500000
4 5.000000 7.000000
45.0 1 9.000000 7.500000
2 9.000000 7.500000
3 11.000000 7.000000
4 11.000000 6.000000
60.0 1 8.000000 7.000000
2 8.000000 9.000000
3 8.000000 7.000000

功能:

In [222]: def f(df, age):
...: return df.loc[pd.IndexSlice[age,:], 'Raitings'].idxmin()[1]
...:

测试:

In [223]: f(x, age=1)
Out[223]: 4

关于python pandas - 在groupby之后选择特定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48843357/

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