当前位置:   article > 正文

python-数据分析--案例分析:美国各州人口数据分析_python数据分析分别查看州人口数量表州面积表州简称数据

python数据分析分别查看州人口数量表州面积表州简称数据

目标:找到美国人口密度最大的5个州


  1. import numpy as np
  2. import pandas as pd
  3. from pandas import Series, DataFrame
  1. #首先导入文件,并查看数据样本
  2. s_abb = pd.read_csv('data/state-abbrevs.csv')
  3. s_abb.head()
  1. s_pop = pd.read_csv('data/state-population.csv')
  2. s_pop.head()
  1. s_areas = pd.read_csv('data/state-areas.csv')
  2. s_areas.head()
  1. abb_pop = pd.merge(s_abb,s_pop,how='outer',left_on='abbreviation',
  2. right_on='state/region')
  1. #删除重复的一列
  2. abb_pop = abb_pop.drop('abbreviation',axis=1)
  3. abb_pop
abb_pop.isnull().any(axis=0)
  1. #查看存在缺失数据的列
  2. #使用.isnull().any(),只要某一列存在一个丢失数据,就会显示True
  1. #找到有哪些state/region使得state的值为NaN,使用unique()查看非重复值
  2. abb_pop[abb_pop['state'].isnull()]['state/region'].unique()
  1. #获取到state/region==PR的副本
  2. abb_pop_PR = abb_pop[abb_pop['state/region']=='PR'].copy()
  3. #对副本进行赋值操作
  4. abb_pop_PR['state'] = 'PUERTO'
  5. #再把副本的值赋值给原始的表abb_pop
  6. abb_pop[abb_pop['state/region'] == 'PR'] = abb_pop_PR
  1. #获取到state/region==USA的副本
  2. abb_pop_USA = abb_pop[abb_pop['state/region'] == 'USA'].copy()
  3. #对副本进行赋值操作
  4. abb_pop_USA['state'] = 'America'
  5. #再把副本的值赋值给原始的表abb_pop
  6. abb_pop[abb_pop['state/region'] == 'USA'] = abb_pop_USA
  1. #为找到的这些state/region的state项补上正确的值,
  2. #这样我们便可以去除掉state这一列所有的NaN
  3. #这个就是清除缺失数据的方法!
  1. total = pd.merge(s_areas,abb_pop,how='left')
  2. total[total.isnull().any(axis=1)]
total.drop(2448,axis=0)
  1. pop_density = total['population']/total['area (sq. mi)']
  2. pop_density
  1. #找出2010年的全民人口数据,df.query(查询语句)
  2. total_2010 = total.query("year==2010.0 & ages=='total'")
  3. total_2010.head()
  1. total_2010.set_index("state",inplace=True)
  2. density = total_2010['population']/total_2010['area (sq. mi)']
  3. density.sort_values(ascending=False).head()
  1. ##要点总结
  2. #1,统一使用loc[]索引
  3. #2,善于使用.isnull().any()找到存在的NaN的列
  4. #3,善于使用.unique()确定该列中哪些key是我们需要的
  5. #4,一般使用外合并,目的只有一个:宁愿该列都是NaN,也不要丢弃其他列数据
















声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/579686
推荐阅读
相关标签
  

闽ICP备14008679号