python数据分析与可视化(第2版)——2.7本章实训

2.7本章实训

#读取数据
import csv               
f=open("D:\python test\white_wine.csv","r")   
reader=csv.reader(f)     
content=[]              
for row in reader:     
    content.append(row)    
f.close()                  
for i in range(5):        
    print(content[i])  
#查看白葡萄酒总共分为几种品质等级
quality_list=[]                               
for row in content[1: ]:                     
    quality_list.append(int(row[-1]))       
quality_count=set(quality_list)            
print("白葡萄酒共有%d种等级,分别是:%r"  
     %(len(quality_count),quality_count))
#按照白葡萄酒等级将数据集划分为7个子集,并统计每种等级的数量
content_dict={}                                     
for row in content[1:]:                             
    quality=int(row[-1])                           
    if quality not in content_dict.keys():        
        #用字典保存每个子集
        content_dict[quality]=[row]
    else:                                         
        content_dict[quality].append(row)
for key in content_dict:                          
    print(key,":",len(content_dict[key]))  
#计算每个数据集中fixed acidity的均值(列表)
mean_list=[]                                 
for key,value in content_dict.items():      
    sum=0
    for row in value:         
        sum+=float(row[0])    #fixed acidity是第一列数据
    mean_list.append((key,sum/len(value)))   
for item in mean_list:     
    print(item[0],":",item[1]) 
#计算每个数据集中fixed acidity的均值(字典)
mean_dict={}                              
for key,value in content_dict.items():
    sum=0
    for row in value:                
        sum+=float(row[0])               
        mean_dict[key]=sum/len(value)    
for key,mean in mean_dict.items():
    print(key,":",mean)                
#求方差
var_list=[]                                    
for key,value in content_dict.items():
    sum=0
    mean=mean_dict[key]
    for row in value:
        sum+=(float(row[0])-mean)**2          
    var_list.append((key,sum/len(value)))     
for item in var_list:
    print(item[0],":",item[1])    

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值