以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
简介
使用随机数生成函数自行构建婴儿名字数据框,并介绍基本的数据框处理方法。
数据来源 - 使用随机数生成函数自行创建婴儿的名字以及数量数据集。
数据准备 - 数据准备 - 从自行创建的数据集中读取所需数据,并进行缺失、异常数据的查看及处理。
分析目标 - 简单地找到在 1880 年最流行的名字。
数据可视化 - 通过表格数据和图表,清晰地展示分析结果。
首先导入 pandas 和 matplotlib 等相关库:
Python version 2.7.12 (default, Aug 1 2016, 14:04:56) [GCC 4.8.4]Pandas version 0.18.1Matplotlib version 1.5.1
1、创建数据假设数据集由 1000 个 1880 年出的生婴儿名字及人数构成,其中会存在大量重复项,也就是将会多次看到同一个婴儿名字出现。可以设想每个名字的多条项目,只是全国不同医院记录每个婴儿名字的数量,所以如果有两家医院记录婴儿的名字为"Bob",则这个数据集对于"BoB"会有两个值。下面就开始创建婴儿名字的随机数据集。
使用下面 5 个婴儿名字来制造 1000 个婴儿名字的随机列表:生成0-4的随机数我们将会使用方法 seed, randint, len, range, and zip.方法使用说明:seed(500) - 创建种子randint(low=0,high=len(names)) - 生成0到“names”列表的长度的随机整数names[n] - 选择索引为 n 的 namefor i in range(n) - 循环直到 i 等于 n, 换言之1,2,3....n.random_names = 从 names 列表选择随机名字,并且这样做 n 次.
['Mary', 'Jessica', 'Jessica', 'Bob', 'Jessica', 'Jessica', 'Jessica', 'Mary', 'Mary', 'Mary']
生成0到1000的随机数
[968, 155, 77, 578, 973, 124, 155, 403, 199, 191]
使用
zip方法合并 names 和 births 数据集
[('Mary', 968), ('Jessica', 155), ('Jessica', 77), ('Bob', 578), ('Jessica', 973), ('Jessica', 124), ('Jessica', 155), ('Mary', 403), ('Mary', 199), ('Mary', 191)]
基本完成了数据集的构建,接着使用
pandas库来导出这个数据集到一个 csv 文件。 df 是一个DataFrame 对象,在格式上类似 sql 表格、excel 表格。
让我们看下df中的内容。
以上内容节选自 数析学院,原文内容较多,先搬运到这,后续有时间再补充,有需要的同学可以先直接到 数析学院 最新课程查看原文