使用groupby查找数据框中每个键的平均值

时间:2017-10-16 02:15:05

标签: python pandas dataframe group-by pandas-groupby

我有啤酒类型列表和评级列表。有重复,所以每种啤酒类型都有多个评级。我把它们变成了元组:

merge = zip(types, ratings)

我正试图找到每种啤酒类型的平均评分。我试图将元组变成Pandas DataFrame:

df = pandas.DataFrame([merge])

但我不知道在groupby参数中放什么。 我也尝试了这个:

df = pandas.DataFrame({'Ratings': [ratings], 'Types':[types]})
df.groupby('Types').mean()

但它也不起作用。我将什么参数放入groupby才能使其工作?或者使用groupby而不是去的方式?

1 个答案:

答案 0 :(得分:0)

使用pd.DataFrame.from_records

df = pd.DataFrame.from_records(merge, columns=['types', 'ratings'])

如果ratings不是数字类型,请使用pd.to_numeric转换它:

df.ratings = pd.to_numeric(df.ratings, errors='coerce')

接下来,在groupbytypes找到mean

g = df.groupby('types').ratings.mean()
print(g)