【小練習】紅白葡萄酒案例2_資料分組聚合
阿新 • • 發佈:2019-01-28
紅白葡萄酒問題 :哪個水平的酸度(pH 值)獲得的平均評級最高?
思路:先用pd.cut() 對酸度進行劃分,再用pd.groupby()對劃分好的區間進行分組求評分的平均值。
import pandas as pd
df = pd.read_csv('winequality_edited.csv') #'winequality_edited.csv'這是合併後的資料
# 用 Pandas 描述功能檢視最小、25%、50%、75% 和 最大 pH 值
pd.describe()['pH']
輸出:
count 6497.000000 mean 3.218501 std 0.160787 min 2.720000 25% 3.110000 50% 3.210000 75% 3.320000 max 4.010000 Name: pH, dtype: float64
# 對用於把資料“分割”成組的邊緣進行分組
bin_edges = [ 2.72, 3.11, 3.21, 3.32, 4.01]# 用剛才計算的五個值填充
'''
酸度水平:
- 高: 最低 25% 時的 pH 值
- 中等偏高: 25% - 50% 時的 pH 值
- 中: 50% - 75% 時的 pH 值
- 低: 最高 75% 時的 pH 值
'''
# 四個酸度水平組的標籤
bin_names = [ 'high', 'medium_to_high', 'medium', 'low']# 對每個酸度水平類別進行命名
# 建立 acidity_levels 列
df['acidity_levels'] = pd.cut(df['pH'], bin_edges, labels=bin_names)
# 檢查該列是否成功建立
df.head()
# 用 groupby 計算每個酸度水平的平均質量
df.groupby('acidity_levels')['quality'].mean()
# 儲存更改
df.to_csv('winequality_edited.csv', index=False)