需求
- 导入文件,查看原始数据
- 将人口数据和各州简称数据进行合并
- 将合并的数据中重复的abbreviation列进行删除
- 查看存在缺失数据的列
- 找到有哪些state/region使得state的值为NaN,进行去重操作
- 为找到的这些state/region的state项补上正确的值,从而去除掉state 这一列的所有NaN
- 合并各州面积数据areas
- 我们会发现area(sq.mi)这一列有缺失数据,找出是哪些行
- 去除含有缺失数据的行
- 找出2010年的全民人口数据
- 计算各州的人口密度
- 排序,并找出人口密度最高的五个州 df.sort_values()
一、数据预处理
- 导入包
import pandas as pd
import numpy as np
from pandas import DataFrame
- 导入文件 查看原始数据
abb = pd.read_csv('./data/state-abbrevs.csv')
abb
# state:全称 abbreviation:简称
pop = pd.read_csv('./data/state-population.csv')
pop
area = pd.read_csv('./data/state-areas.csv')
area
- 将各州数据【abb】和人口数据【pop】进行合并
使用
outer
:保证数据完整性
[Python3]pandas.merge用法详解
abb_pop = pd.merge(abb,pop,left_on='abbreviation',right_on='state/region',how='outer')
abb_pop.head()
- 将合并后的数据列进行删除 : abbreviation
# inplace作用在原DataFrame上
abb_pop.drop(labels='abbreviation',axis=1,inplace=True)
abb_pop.head()
查看表中的缺失数据
info()
isnull().any(axis=0)
⭐
abb_pop