需求:

1.导入文件,查看原始数据

2.将人口数据和各州简称数据进行合并

3.将合并的数据中重复的abbreviation列进行删除

4.查看存在缺失数据的列

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

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

7合并各州面积数据areas

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

9.去除含有缺失数据的行

10.找出2010年的全民人口数据

11.计算各州的人口密度

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

导入文件,查看原始数据

abb = pd.read_csv('./state-abbrevs.csv')

#state(州的全称)abbreviation(州的简称)

area = pd.read_csv('./state-areas.csv')

#state州的全称,area (sq. mi)州的面积

pop = pd.read_csv('./state-population.csv')

#state/region州/地区简称,ages年龄,year时间,population人口数量

将人口数据和各州简称数据进行合并

abb_pop = pd.merge(abb,pop,left_on='abbreviation',right_on='state/region',how='outer')

将合并的数据中重复的abbreviation列进行删除

abb_pop.drop(labels='abbreviation',axis=1,inplace=True)

查看存在缺失数据的列

方式1:

abb_pop.info()

>>>

Int64Index: 2544 entries, 0 to 2543

Data columns (total 5 columns):

# Column Non-Null Count Dtype

--- ------ -------------- -----

0 state 2448 non-null object

1 state/region 2544 non-null object

2 ages 2544 non-null object

3 year 2544 non-null int64

4 population 2524 non-null float64

dtypes: float64(1), int64(1), object(3)

memory usage: 119.2+ KB

方式2:

abb_pop.isnull().any(axis=0)

>>>

state True

state/region False

ages False

year False

population True

dtype: bool

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

#1.找到state中的空值

abb_pop['state'].isnull()

#2.将空值对应的行数据提取

abb_pop.loc[abb_pop['state'].isnull()]

#3.将state空对应的简称找出

abb_pop.loc[abb_pop['state'].isnull()]['state/region']

#4.对符合要求的简称进行去重

abb_pop.loc[abb_pop['state'].isnull()]['state/region'].unique()

>>>

array(['PR', 'USA'], dtype=object)

#nunique可以统计重复元素的个数

abb_pop.loc[abb_pop['state'].isnull()]['state/region'].nunique()

>

2

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

#1.state这一列中的空值对应的简称为PR和USA,

#state这一列的空值分为两种类型,一种类型需要补充PR的全称,一种类型需要补充为USA的全称

#2.找到PR简称对应全称的空值

#可以将PR对应的行数据取出,然后将state列取出即可

abb_pop['state/region'] == 'PR'

#取出对应的行数据

abb_pop.loc[abb_pop['state/region'] == 'PR']

#3.将符合要求的空进行正确填充

indexs = abb_pop.loc[abb_pop['state/region'] == 'PR'].index

#批量赋值

abb_pop.loc[indexs,'state'] = 'PPPRRR'

abb_pop['state/region'] == 'USA'

abb_pop.loc[abb_pop['state/region'] == 'USA']

indexs = abb_pop.loc[abb_pop['state/region'] == 'USA'].index

abb_pop.loc[indexs,'state'] = 'United States'

合并各州面积数据areas

abb_pop_area = pd.merge(abb_pop,area,how='outer')

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

abb_pop_area['area (sq. mi)'].isnull()

abb_pop_area.loc[abb_pop_area['area (sq. mi)'].isnull()]

drop_index = abb_pop_area.loc[abb_pop_area['area (sq.mi)'].isnull()].index

>>>

Int64Index([2448, 2449, 2450, 2451, 2452, 2453, 2454, 2455, 2456, 2457, 2458,

2459, 2460, 2461, 2462, 2463, 2464, 2465, 2466, 2467, 2468, 2469,

2470, 2471, 2472, 2473, 2474, 2475, 2476, 2477, 2478, 2479, 2480,

2481, 2482, 2483, 2484, 2485, 2486, 2487, 2488, 2489, 2490, 2491,

2492, 2493, 2494, 2495, 2496, 2497, 2498, 2499, 2500, 2501, 2502,

2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, 2513,

2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, 2523, 2524,

2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, 2533, 2534, 2535,

2536, 2537, 2538, 2539, 2540, 2541, 2542, 2543],

dtype='int64')

去除含有缺失数据的行

#删除缺失数据的行

abb_pop_area.drop(labels=drop_index,axis=0,inplace=True)

#删除最后一行数据

abb_pop_area.drop(labels=2544,axis=0,inplace=True)

#查看状态信息是否都已清洗完成

abb_pop_area.isnull().any(axis=0)

>>>

state False

state/region False

ages False

year False

population False

area (sq. mi) False

dtype: bool

找出2010年的全民人口数据

query条件查询

abb_pop_area.query('year == 2010 & ages == "total"')

计算各州的人口密度

abb_pop_area['midu'] = abb_pop_area['population'] / abb_pop_area['area (sq. mi)']

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

sort_values:值排序

sort_index:索引排序

abb_pop_area.sort_values(by='midu',axis=0,ascending=False)

python人口普查数据数据分析_7、Python 数据分析-Pandas人口分析案例相关推荐

  1. 视频教程-Python数据分析与案例教程:分析人口普查数据-Python

    Python数据分析与案例教程:分析人口普查数据 多年互联网从业经验: 有丰富的的企业网站.手游.APP开发经验: 曾担任上海益盟软件技术股份有限公司项目经理及产品经理: 参与项目有益盟私募工厂.睿妙 ...

  2. Python数据分析与案例教程:分析人口普查数据-欧阳桫-专题视频课程

    Python数据分析与案例教程:分析人口普查数据-379人已学习 课程介绍         本课程将带你全程实现对全国第六次人口普查数据的获取.分析.及可视化图表的制作 课程收益     熟悉和掌握使 ...

  3. 人口普查分析:利用python+百度文字识别提取图片中的表格数据

    今天发布了最新的人口普查结果,笔者拿到的文件是pdf格式(网上应该有).之前就一直想实现从pdf提取表格数据,输出为excel.正好这次有公开数据,因此打算用来练个手. 尝试了两种方法: 1.pyth ...

  4. 统计数据资源整理:最全中国2010年人口普查数据Excel文件

    很多小伙伴在做数据分析项目时找不到数据,这里分享我从<国家统计局官网>下载的2010年人口普查数据,总共434个Excel文件,全部整理好啦. 数据仅供学习交流使用 获取方法 链接:htt ...

  5. 第七次人口普查数据背后的玄机,你看懂了吗?

    5月11日,国务院发布了第七次人口普查数据结果.这次人口普查主要对户别人口.人口地区分布.性别构成.年龄构成.受教育程度人口.城乡人口.流动人口及民族人口九大项目进行了详尽调研.结果显示,男女比例仍然 ...

  6. 数据资源整理:中国2020年人口普查数据Excel文件,数据仅供学习【附下载方法】

    数据来源 中国人口普查年鉴官网:http://www.stats.gov.cn/sj/pcsj/rkpc/7rp/zk/indexce.htm 很多小伙伴在做数据分析项目时找不到数据,这里分享我下载的 ...

  7. 第四次人口普查数据_第七次人口普查预估:单身男性比女性多3000万?你在其中吗?...

    据报道,我国单身成年人口2.4亿人,其中超过7700万成年人是独居状态.研究报告现实,到2025年,中国15岁到49岁男性人数将比同龄段女性高出3000万,男性面临所有压力更大. 你是单身吗? 普查漫 ...

  8. (1)1999~2021 年中国城市统计年鉴面板数据(含地级市面板、县级市面板和主要指标)(2)香港统计年刊(3)第一到第七次的人口普查数据(4)全国省市县-五六七普人口数据(5)国际统计年鉴

    (1)1999-2021 年中国城市统计年鉴面板数据(含地级市面板.县级市面板和主要指标) (2)香港统计年刊 (3)第一到第七次的人口普查数据 (4)全国省市县-五六七普人口数据 (5)国际统计年鉴 ...

  9. 美国人口普查数据预测收入sklearn算法汇总3之ROC: KNN,LogisticRegression,RandomForest,NaiveBayes,StochasticGradientDece

    接<美国人口普查数据预测收入sklearn算法汇总1: 了解数据以及数据预处理> <美国人口普查数据预测收入sklearn算法汇总2: 特征编码, 特征选择, 降维, 递归特征消除& ...

  10. 第七次人口普查数据与城镇化

    第七次人口普查,既统计人口又统计房屋空置率.城镇化之路进入下半场城市化,差异化发展.房产税马上在一大批城市试点.房地产将何去何从.人口迁移顺序:乡镇->县城->市区->省会城市-&g ...

最新文章

  1. Rowhammer漏洞致“比特位翻转”,如何解决?
  2. QT代码格式化快捷键
  3. 适合写python的电脑_这篇写给想选计算机专业的学弟学妹们
  4. vue xxx was assigned to but it has no setter.
  5. 1682亿背后丨一分钟看懂天猫双11
  6. Mesos容器引擎的架构设计和实现解析
  7. 安卓 usb音量调节_戴尔推出面向Teams和Zoom视频通话的USB-C免提适配器
  8. 2006 年100 款最佳安全工具谱
  9. Cookie, Session, LocalStorage, SessionStorage, Etag, Expire
  10. Ubuntu如何修改用户密码
  11. CUDA: (十一) NVIDIA 2D Image And Signal Performance Primitives (NPP) 初探
  12. CTFT、DTFT、DFT、FFT
  13. 锅炉给水泵flash_锅炉给水泵故障实例
  14. python抽奖概率设计_python 抽奖概率
  15. CCRC信息安全服务资质
  16. 微信开发者工具中使用vant库
  17. 【各种视频网站去水印】无需任何软件 在浏览器 动动手指就行
  18. 使用VPS时的注意事项
  19. cartographer:论文阅读(Real-Time Loop Closure in 2D LIDAR SLAM)
  20. H5新特性:canvas学习1

热门文章

  1. Activity (一)工作流简介 :概念与由来
  2. win10鼠标指针修改
  3. 工业企业数据库处理——2.匹配样本
  4. c语言怎么编程打开文件,怎么用c语言打开文件
  5. win环境sftp软件_在Windows上使用sftp工具—WinSCP
  6. studio one 3 机架声道设置_Lenovo UC30 声卡驱动跳线VST机架跳线
  7. Vulkan::0.0::开始于VulKanSDK(Getting Started with the Vulkan SDK)
  8. 50个数据结构案例及详细步骤分析 - C语言版
  9. Python-查看python版本-常用代码-VS编译器版本号
  10. 【操作系统】斐讯K2 PSG1218 A2 版本22.6.512.75 刷breed+老毛子固件