我有啤酒类型列表和评级列表。有重复,所以每种啤酒类型都有多个评级。我把它们变成了元组:
merge = zip(types, ratings)
我正试图找到每种啤酒类型的平均评分。我试图将元组变成Pandas DataFrame:
df = pandas.DataFrame([merge])
但我不知道在groupby参数中放什么。 我也尝试了这个:
df = pandas.DataFrame({'Ratings': [ratings], 'Types':[types]})
df.groupby('Types').mean()
但它也不起作用。我将什么参数放入groupby才能使其工作?或者使用groupby而不是去的方式?
答案 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')
接下来,在groupby
上types
找到mean
:
g = df.groupby('types').ratings.mean()
print(g)