栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

人口分析案例

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

人口分析案例

需求:

  • 导入文件,查看原始数据
  • 将人口数据和各州简称数据进行合并
  • 将合并数据中重复的abbreviation列进行删除
  • 查看存在缺失数据的列
  • 找到有哪些state/region使得state的值为NaN,进行去重操作
  • 为找到的这些state/region的state补上正确的值,从而除掉state这一列的所有NaN
  • 合并各州面积数据areas
  • 我们会发现area(sq.mi)这一列有缺失数据,找出是哪些行
  • 去除含有缺失数据的行
  • 找出2010年的全民人口数据
  • 计算各州的人口密度
  • 排序,并找出人口密度最高的州
import numpy as np
import pandas as pd
from matplotlib import pyplot as plt

#导入文件,查看原始数据
abb = pd.read_csv("./data/state-abbrevs.csv")#state是州的全称,abbreviation是州的简称
area = pd.read_csv("./data/state-areas.csv")#state州的全称,area州的占地面积
pop = pd.read_csv("./data/state-population.csv")#state/region州的简称,ages年龄,year时间,population人数

#将人口数据和各州简称数据进行合并(为了保证数据的完整性,采用外连接的方式)
abb_pop = pd.merge(abb,pop,left_on="abbreviation",right_on="state/region",how="outer")
print(abb_pop.head(5))

#对合并后的数据删除重复列
abb_pop.drop(labels="abbreviation",axis=1,inplace=True)
print(abb_pop.head(5))

 第一种方式查看缺失值 通过.isnull().any(axis=0)的方式

 

第二种方式是通过.info()查看数据信息确定缺失值

 

找到有哪些state/region使得state的值为NaN,进行去重操作

将state中的空值对应的简称找到,对简称进行去重操作
思路:可以将state这一列的空值对应的行数据取出,从该行数据中就可以取出简称的值
实现:得到是否为空的布尔类型的Series-----abb_pop['state'].isnull()
将上述的布尔值作为源数据的行索引

 得到结论:只有PR和USA对应的全程数据为空值。

 为找到的这些state/region的state补上正确的值,从而除掉state这一列的所有NaN

 填充的方式可不可以使用.fillna()?

不可以,第一,fillna可以使用空的近邻值做填充,fillna(value="XXX")的方式进行填充,但是此处要进行填充的不止一种。

可以使用给元素赋值的方式进行填充! 1.将USA对应的行数据取出----简称为USA作为索引

2.将USA对应的全称为空的行索引取出,利用该索引填充原表中的空值  3.可以采用和USA同样的方式对PR的全称为空的位置进行填充

 合并各州面积数据areas

 

 我们会发现area(sq.mi)这一列有缺失数据,找出是哪些行

去除含有缺失数据的行

 找出2010年的全民人口数据

 

排序,并找出人口密度最高的州 求密度

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/934472.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号