gpt4 book ai didi

python - 如何使用列值进行分组

转载 作者:行者123 更新时间:2023-12-01 02:10:18 24 4
gpt4 key购买 nike

我需要获得“ma”和“young”观看的top1和top2收视率。在这里,我只需要具体定义我的值,而不是使用分组依据的列。

数据:

gender  age rating
ma young PG
fe young PG
ma adult PG
fe adult PG
ma young PG
fe young PG
ma adult R
fe adult R
ma young R
fe young R

代码:

top1 = df.groupby(['ma','young']])['rating'].apply(lambda x: x.value_counts().index[0])
top2 = df.groupby(['ma','young']])['rating'].apply(lambda x: x.value_counts().index[1])

请告诉我该怎么做。

最佳答案

首先过滤,然后获取顶部,但一般可能第二个顶部不应该存在:

df1 = df.query("gender== 'ma' & age == 'young'")
#alternative is boolean indexing
#df1 = df[(df['gender'] == 'ma') & (df['age'] == 'young')]
tops = df1.groupby(['gender','age'])['rating'].value_counts()
print (tops)
gender age rating
ma young PG 2
R 1

print (df.iloc[[0]])
gender age rating
0 ma young PG


print (df.iloc[[1]])
gender age rating
1 fe young PG

关于python - 如何使用列值进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48741867/

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