寒假的练习任务 寒假学习了Python数据分析基础这本书,然后在学习完之后为了检验学习进度,布置了分析10万条数据的任务。 要求是这样的: 数据样例: 18 Jogging 102271561469000 -13.53 16.89 -6.4 18 Jogging 102271641608000 -5.75 16.89 -0.46 18 Jogging 102271681617000 -2.18 16.32 11.07 18 Jogging 3.36 18 Downstairs 103260201636000 -4.44 7.06 1.95 18 Downstairs 1032602416140 在这个数据分析练习中,主要涉及了几个关键的知识点,包括数据清洗、CSV文件操作以及数据分析的基础概念。我们将逐一探讨这些内容。 数据清洗是数据分析过程中的重要步骤,它旨在去除或修正数据集中的错误、不完整、不准确或不相关的记录,以提高数据质量和分析结果的可靠性。在这个例子中,数据清洗主要体现在两个方面: 1. 删除不完整的行:原始数据中存在一些行只有三个元素,而其他行都有六个元素。这种情况下,我们需要检查每行数据的长度,确保它们符合预期的格式。这里通过Python的`csv`模块读取文件,利用`len()`函数检查行的长度,当长度等于定义的正常长度(6)时,才将其写入新的文件。 2. 删除异常值:在数据集中,有些行的第三个元素是'0',这可能是错误的数据。为了保持数据的准确性,这些行也需要被剔除。检查并删除这些行的方法是对比每个元素,确保其第三个元素(索引为2,因为Python的索引从0开始)不等于字符串'0'。 在Python中实现这些操作,可以使用以下代码结构: ```python import csv def clean_data(input_file, output_file): a_len = 6 with open(input_file, 'r', newline='') as csv_in_file, open(output_file, 'w', newline='') as csv_out_file: filereader = csv.reader(csv_in_file, delimiter=' ') filewriter = csv.writer(csv_out_file) for row_list in filereader: if len(row_list) == a_len and row_list[2] != '0': filewriter.writerow(row_list) clean_data('原始数据文件.csv', '处理后数据文件.csv') ``` 接下来,处理二是对数据进行汇总统计,计算不同动作(如Jogging、Downstairs等)的数量,并将这些数量转换为100的倍数。这涉及到数据的分类计数和数值处理。在Python中,可以使用`collections.Counter`来统计动作出现的次数,然后对结果进行取整和修剪,只保留100的倍数: ```python from collections import Counter def count_and_round(input_file): counter = Counter() with open(input_file, 'r', newline='') as csv_in_file: filereader = csv.reader(csv_in_file, delimiter=',') for row_list in filereader: action = row_list[1] counter[action] += 1 rounded_counts = {action: round(count / 100) * 100 for action, count in counter.items()} return rounded_counts rounded_counts = count_and_round('处理后数据文件.csv') for action, count in rounded_counts.items(): print(f"{action}: {count}") ``` 将统计结果写入新的文件,可以再次使用`csv.writer`实现。这个练习展示了如何运用Python处理CSV文件,进行数据清洗和简单的统计分析,是学习数据分析基础的典型应用。对于大数据处理,尽管10万条数据在某些场景下可能不算大,但对于初学者来说,已经足够进行实践操作。理解和掌握这些基本技能,有助于进一步学习更复杂的数据分析和挖掘技术。
- 粉丝: 5
- 资源: 908
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20241125_212210.jpg
- 本地安装GSVA,有很多选择,我选了相对最新的
- yolo算法-橡胶圈数据集-23984张图像带标签-机器人-橡胶圈.zip
- wordpress网址导航主题模板 自适应手机端+附整站源码
- yolo算法-手套-无手套-人数据集-14773张图像带标签-手套-无手套-人-无头盔-无口罩-没有安全鞋-无护耳器-无背心-护耳器-背心-安全鞋-无玻璃-头盔-面具-玻璃杯.zip
- yolo算法-动物类别数据集-21613张图像带标签-人-奶牛-鹰-大象-汽车-猪-水牛-熊-鹿-雨伞-狗-老虎-浣熊-狼.zip
- Go语言实现高质量代理池构建与部署
- yolo算法-多类别动物数据集-8893张图像带标签-猴子-奶牛-大象-水牛-美洲虎-熊-鹿-马-狗-老虎-鸟-狮子-猎豹-山羊.zip
- Video_1732514072178.mp4
- yolo算法-手套-无手套-人数据集-14163张图像带标签-手套-无手套.zip