python葡萄酒品质分析

实验目的
1.掌握数据读取的函数
2.熟悉for语句循环遍历
3.掌握列表、元组、字典和集合的特效以及常用方法(append().len())
4.灵活掌握通过切片方式获取数据

实验内容(代码)
#1.读取数据
path=r'./white_wine.csv'
import csv

if __name__ == '__main__':
    f = open(path)
    reader = csv.reader(f)#delimiter字段分割符,默认是逗号,每一个单元格作为一个元素,1行12个元素
    # reader=csv.reader(f,delimiter=';')
    content = []
    for row in reader:
        content.append(row)
    f.close()
    for i in range(5):
        print(content[i],len(content[i]))
#2.处理数据
#(1)查看葡萄酒共分为几种等级。
quality_list = []
for row in content[1:]:
    quality_list.append(int(row[-1]))
quality_count = set(quality_list)
print(f"葡萄酒共有{len(quality_count)}种等级,分别是{quality_count}")
#Python3.6新增的f-字符串格式化

#(2)葡萄酒等级有7种,统计在每个品质中的样本量
content_dict = {}         #{'品质':样本量,}
for row in content[1:]:
    quality = int(row[-1])
    if quality not in content_dict.keys():
        content_dict[quality] = [row]#把row当做只有一行的二维数据加入字典作为键当前quality的值
        #print(row)
        #print([row])
    else:
        content_dict[quality].append(row)
        #当前键quality对应的值为一个二维数据集,row作为一位数据的一行追加到二维数据的末尾
for key in content_dict:
    print(f"{key}等级:{len(content_dict[key])}")
#print(content_dict[9])

#(3)统计在每个品质的样本量
number_tuple = []
for key,value in content_dict.items():
    number_tuple.append((key,len(value)))
print(number_tuple)

#(4)求每个数据集中“fixed acidity”的均值。
mean_list = []
for key,value in content_dict.items():
    sum = 0
    for row in value:
        sum += float(row[0])  # 第1列数据
    mean_list.append((key,sum/len(value)))#用元组和列表都一样
for item in mean_list:
    print(f"{item[0]}:{item[1]}")
运行结果:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值