• 数据分析入门——美国各州人口分析


    1.案例数据来自python数据分析手册,github地址:https://github.com/jakevdp/PythonDataScienceHandbook/tree/master/notebooks/data

            不克隆项目,怎么在github下载单个文件?:https://www.cnblogs.com/zhaoqingqing/p/5534827.html

    2.pandas读取文件,参考:https://blog.csdn.net/sinat_29957455/article/details/79054126

    1.导入三剑客的包:

      

    2.读取数据:

       read_csv可以读取1G的数据(excel无法打开)

       读入各州缩写:

       

      读入各州面积:

      

      读入各州人口:

      

    3.合并pop和abbr两个df

      使用简称,合并全称,可知,需要使用merge:

      并且,左右两列没有相同columns,需要使用left_on/right_on来进行限定;

      

      由于默认使用的是内连接,所以通过shape发现会有部分未连接上的数据,通过how,可以控制内外连接方式:

      

      //使用right右连接,也会出现2448,原因是虽然右表只有51条,但是左表有多条对应,会出现一对多

       发现用于连接的列,有重复的列,我们可以使用drop进行删除一列:通过axis控制,我们就删除了一列:

      

      但是特别注意,drop返回的是删除后的新DF,原先的DF未改变(这点可以通过看控制台是否输出了内容,有输出时则是返回了新的数据,没有则是在原基础上修改)

    要想在原基础上修改,需要控制inplace参数:

      

      

      通过isnull()返回和原先形状相等的df,再通过any看哪一列有空值:

      

       进一步,通过空值操作,可以查看具体哪些州有数据缺失:(通过unique来查看唯一值)

      

      下一步,使用正确的值,填充这些缺失值:(通过boolean值来进行筛选,注意boolean这个Series的产生)

      

      USA的处理,同理:

      

      验证结果:(可以发现state已经没有空值)

      

    4.合并pop和areas两个df

      同样,使用merge:(注意这里使用left合并)

      

      继续使用isnull()来检测空值:

      

      发现area有空值,我们继续使用上面类似的方法,空值检测并填充:

        具体这里是先检测area列的bool值,再通过pop3取到哪些state是空:

      

        可以通过dropna来删除含有空数据的行:(dropna的文档注意查看)

      

        检查空值处理结果:

        

    5.使用query查找数据

      使用query来进行数据检索:https://blog.csdn.net/tcy23456/article/details/85887334

      

      对查询结果进行索引重排,使用set_index,使得state成为新的Index:(注意通过inplace控制替换原值)

      

      通过计算,返回人口密度的series:

      

      通过sort_values进行数据排序:

        进一步的,可以通过切片或者tail()函数取最小的几个,取top几

      

      使用merge,可以将计算出的密码,融合进去人口结果集:

        此处需要将Series转换为df再计算:

      

  • 相关阅读:
    C# 对象与JSON串互相转换
    C#通过WebClient/HttpWebRequest实现http的post/get方法
    UserAccountInfo时间倒计时
    C# 计时器的三种使用方法
    iOS:quartz2D绘图小项目(涂鸦画板)
    iOS:quartz2D绘图 (动画)
    iOS:网页视图控件UIWebView的详解
    iOS:图像选取器控制器控件UIImagePickerController的详解
    iOS:quartz2D绘图(显示绘制在PDF上的图片)
    iOS:quartz2D绘图(在PDF文件上绘制图片)
  • 原文地址:https://www.cnblogs.com/jiangbei/p/11369174.html
Copyright © 2020-2023  润新知