gpt4 book ai didi

python - 在数据框中查找平均值的更有效方法?

转载 作者:行者123 更新时间:2023-12-01 07:15:54 28 4
gpt4 key购买 nike

我有一个大型数据框,其中包含大约 13 列和 10,000 行有关应用的数据。其中一列是“类别”,说明每个应用程序属于哪个类别,每个应用程序在“评级”列中也有一个值,该值说明应用程序的评级。我正在尝试找出哪个类别的平均评分最高。

我使用这行代码来找出类别栏中的不同类别

df['Category'].value_counts())

到目前为止,我正在使用此代码来计算平均值,在本示例中,我将其用于“家庭”类别。它有效,但我必须对另外 32 个不同的类别执行此操作,有没有更简单的方法可以从整个数据框架中挑选出特定类别并计算出平均值?

 family1 = app_data[['Category', 'App', 'Rating']]

nan_family = family1[pd.notnull(family1['Rating'])]

family2 = nan_family.loc[nan_family['Category'] == 'FAMILY']

print(family2[['Rating']].mean(axis = 0))

最佳答案

我相信您需要聚合mean,然后使用 Series.idxmax对于类别,按最大平均值:

df = pd.DataFrame({
'Rating':[np.nan,5,4,1,7,4,np.nan,6,np.nan],
'Category':list('aaabbbccc')
})

print (df)
Rating Category
0 NaN a
1 5.0 a
2 4.0 a
3 1.0 b
4 7.0 b
5 4.0 b
6 NaN c
7 6.0 c
8 NaN c

print (df.groupby('Category')['Rating'].mean())
Category
a 4.5
b 4.0
c 6.0
Name: Rating, dtype: float64

top_cat = df.groupby('Category')['Rating'].mean().idxmax()
print (top_cat)
c

关于python - 在数据框中查找平均值的更有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57952560/

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