1. 程式人生 > >【小練習】紅白葡萄酒案例2_資料分組聚合

【小練習】紅白葡萄酒案例2_資料分組聚合

紅白葡萄酒問題 :哪個水平的酸度(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]# 用剛才計算的五個值填充

'''

酸度水平:

  1. 高: 最低 25% 時的 pH 值
  2. 中等偏高: 25% - 50% 時的 pH 值
  3. 中: 50% - 75% 時的 pH 值
  4. 低: 最高 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)