美国人口数据分析
这是三个数据文件
分别是地区数据文件,面积数据文件, 时间,年龄分段对应的人口数量的数据文件
导入模块
import pandas as pd
import numpy as np
from pandas import Series,DataFrame
导入三个数据文件
地区数据
面积数据
时间,年龄分段对应的人口
1. 把 abb(地区) 和 pop(人口) 合并起来
简要查看一下内容
使用 merge()函数 合并
1、合并的时候要用外合并(因为内合并会造成数据丢失)
2、由于没有公共属性,合并的时候需要左侧出一个属性"abbreviation",
右侧出一个属性"state/region"做key,然后再把重复的属性去掉一个"abbreviation"
2. 过滤数据
查看数据是否完整
经过查看,发现state和population属性有缺失
3. 处理缺失情况
3.1 处理state的缺失情况
- 检查出来哪些全称的缺失 使用 isnull 函数
- 输出这些缺失的行的state/region属性
unique函数用于查看一个Series中有多少种值
通过查看发现PR和USA两个缺失全称
- 补充缺失
【注意】赋值的时候要先找属性再选择行
USA是United States的简称,先找到简称为USA的那些行,然后把这些行的state属性改成United States
PR是Puerto Rico的简称,先找到简称为PR的那些行,然后把这些行的state属性改成Puerto Rico
查看结果
3.2 处理population的缺失
查看哪些population有缺失
缺失处理,删除
4. 合并area(面积)表
使用.merge()函数,外合并的方式
查看合并情况
查看是否有缺失
United States的面积有缺失
将面积补全
现在数据补充完整了
经过上面的一系列操作,所有的三张表已经合并在一起,并且缺失数据也已经过滤
接下来我们对pop3这张表进行简单的挖掘
5. 数据的简单挖掘
5.1 查询2012年每个州的全民人口数据
- 方案一
- 方案二 查询语句
5.2 对2012年每个州的全民人口数据的查询结果进行处理,以state作为索引
使用set_index()函数
5.3 求出2012年美国各个州的人口密度
- 计算 人口密度=人口数/面积
- 创建一个DataFrame对象,用一列接收人口密度数据
- 合并数据
5.4 找出2012年人口密度最大的五个州和最小的五个州
-
根据人口密度来对整个表的所有行排序(默认升序)
-
人口密度最大的五个州,取最后5个
-
人口密度最小的5个州,取前5个