#导入模块
import pandas as pd
import numpy as np
#获取数据
#导入待处理数据white_wine.csv,并显示前5行
data=pd.read_csv("D:\python test\white_wine.csv")
data.head()
#查看白葡萄酒总共分为几种品质等级
qualityList=data['quality'].unique()
print(f"葡萄酒共有{len(qualityList)}种等级,分别为{qualityList}")
#按白葡萄酒等级将数据集划分为7个子集,并统计每种等级的数量
group1=data['quality'].groupby(data['quality'])
group1.size()
#计算每个数据集中fixed acidity的均值
group2=data['fixed acidity'].groupby(data['quality']).mean()
group2
#计算每个数据集中fixed acidity的方差
group3=data['fixed acidity'].groupby(data['quality']).var()
group3
#计算fixed acidity与所属等级的离均差(方法一)
#添加一列值为离均差,酸性减去同一品种等级的酸性均值的绝对值
mean=data.groupby(['quality'])['fixed acidity'].transform('mean') #求得每一行对应等级的酸性均值
display(mean)
data['deviation from mean']=abs(round(data['fixed acidity']-mean,2)) #保留两位小数
display(data.head(10))
data.to_csv('D:\python test\my_white_wine.csv')
【abs( ) 函数——取绝对值函数——abs(表达式)
round()函数——按指定的位数对数值进行四舍五入——round(数值表达式 , 有效位数)】
#计算fixed acidity与所属等级的离均差(方法二)
mean=data.groupby(['quality'])['fixed acidity'].transform('mean') #求得每一行对应等级的酸性均值
data['ver']=data['fixed acidity']-mean
display(data)
#利用lambda函数计算离均差(方法三)
data['ver']=data.apply(lambda x:x['fixed acidity']-mean[x['quality']],axis=1)
display(data)