使用 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')
接下来,groupby
在 types
上找到 mean
:
g = df.groupby('types').ratings.mean()
print(g)
我有一份啤酒类型列表和一份评级列表。有重复项,因此每种啤酒类型都有多个评级。我把它们做成了元组:
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')
接下来,groupby
在 types
上找到 mean
:
g = df.groupby('types').ratings.mean()
print(g)