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

Finding the mean of each key in a dataframe using 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 不是正确的方法?

使用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)