通过数据框中的唯一值拆分数据框

时间:2018-10-30 23:58:58

标签: pandas dataframe mean

我希望分析啤酒的ABV和风格,然后取平均值作为图表。我将所有啤酒样式及其ABV放在一个数据框中,我希望为每种样式创建单独的数据框,然后取这些样式ABV的平均值。 我尝试了groupby,却一无所获。

我想完成的事情:

-按样式将数据帧拆分为多个数据帧,其中包括该样式的所有ABV(有一些重复的ABV值和90个样式,71个唯一的ABV)

-取每种样式的平均值

-散点图中的图形。

数据框:

Data frame]

1 个答案:

答案 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。