我希望分析啤酒的ABV和风格,然后取平均值作为图表。我将所有啤酒样式及其ABV放在一个数据框中,我希望为每种样式创建单独的数据框,然后取这些样式ABV的平均值。 我尝试了groupby,却一无所获。
我想完成的事情:
-按样式将数据帧拆分为多个数据帧,其中包括该样式的所有ABV(有一些重复的ABV值和90个样式,71个唯一的ABV)
-取每种样式的平均值
-散点图中的图形。
数据框:
]
答案 0 :(得分:0)
我设法找到有关遍历组的文档,并将此循环传递给它。这是按样式排序的
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
beers_csv = pd.read_csv("Resources/cleaned_beer.csv")
dropped_beers_csv = beers_csv.drop(columns=["Unnamed: 0", "Brewery ID", "Brewery", "City", "IBU", "State", "OZ.", "Beer"])
beer_data = dropped_beers_csv
grouped = beer_data.groupby('Style')
for name, group in grouped:
print(name)
print(group)
grouped_beer = grouped.mean()
grouped_beer
它返回了所有样式和ABV(例如,它返回了2个Abby Single Ales及其ABV。
最后两行仅应用了均值函数并吐出了一个具有90行的数据框,并且在我的原始csv文件中运行唯一计数显示了90种独特样式,然后均值函数取了每组的平均值。现在,我有一个90行的数据框,其中包含每个唯一样式以及该样式的平均ABV。