zoukankan      html  css  js  c++  java
  • 利用Excel做一些简单的数据分析

    先来几个原始数据的截图,如下所示:

    示例图就举一个吧,因为这些数据量还挺大的,大概的总结了一下,这下列这几栏中不合规范的数据占比很大:

      (1)民族(经分析,在此表中所涉及到的民族分别为:汉族,满族,蒙古族,回族,土家族,侗族,瑶族,彝族,苗族,藏族,东乡族,壮族,傣族,仫佬族)原始数据中有写汉族,也有写汉的,其他民族的写法类似,为了将这些数据规范化,我们利用Excel中的批量替换功能,直接按快捷键Ctrl+f,如下:选中民族这一列,然后先进行查找,确认一下那些只写‘汉’的这些数据行,然后再进行批量替换。如图所示:

    然后在替换,如下图所示:

    这样就把单个字‘汉’, 替换成‘汉族’, 同时也将那些写成‘汉族’的规范的数据替换成了‘汉族族’, 这个并不碍事,利用同样的功能,选中民族这一列,先查找‘汉族族’,然后再进行替换,如下图:

    然后点击全部替换,如下图:

    这样一来,民族这一列中所有关于“汉”,“汉族”的替换也就完成了,数据的规范化工作也就完成了一小部分。同样其他的'民族' 也使用这种方法修改,这样就效率提高很多。

      (2)年级:年级这一栏基本出现的是这样的情况:92级,88,还有范围的数据2009-2013,还有一些莫名其妙的数字例如40098。这些数据的修改应当统一规范,对刚才这几种情况的数据应该改成: 1992, 1988, 2009, 对于40098类似的不合规范的数据将其标注红色。下面是一组原始数据与修改之后数据的对比: 

     这一栏的修改基本就采用这样的方法。

      (3)学院:学院这一栏基本都是写的学院的简称,这一栏同样采用批量代换的方法,根据已建好的学院表将其进行替换,学院表如下:

    替换方法和上面所用到的方法一样,下面给一组原始数据与替换后的数据对比,如下图所示:

      (4)专业:专业这一栏同样也是写的简称,也有一些现在所属的学院中没法找到的一些专业(估计是换了专业名字吧)土木学院的居多,同样的方法批量替换,将那些不合规范和找不见的专业红底标注,参照已建立好的专业表对其进行数据规范化,现有学院对应的专业表如下:

     

    一共是71个现有专业。替换过程和上边用到的过程一样,再次不在啰嗦,,,下面给一组原始数据与修改完成的数据的比对:

    红底标注的专业是不合规范的或者是在现有学院中找不到的专业。

      (5)学历:学历这一栏经分析写的大概都是这样的(大学本科,大学,本科,,研究生,硕士,博士毕业生,大专,专科,本科毕业生,工程硕士,工学硕士等等),在新建好的学历数据表中一般将学历分成下列几种,如图:

    根据数据表中规范的数据,对学历这一栏进行修改,也是采用同样的方法,批量代换,将(大专)替换成专科,将(大学本科,大学,本科毕业生)替换成本科,将(研究生,工程硕士,工学硕士)替换成硕士,将(博士毕业生)替换成博士,这样对这一列的数据规范化,给出一组原始数据与规范化之后的数据的比对:

    其他的地方也采用一样的方法进行修改。

    附录:一些常见的统计分析函数,在Excel中提供了强大的函数库fx,如下图所示,通过相应的函数,对数据进行加工分析。

    在excel中,统计个数有三个常用的函数:
    1 COUNT函数
    COUNT函数可以统计一个区域中数字的个数。
    如:=COUNT(A1:A10)可以统计A1:A10区域数字的个数
    2 COUNTA函数
    COUNTA函数可以统计非空单元格的个数,只要是非空都可以统计在内。
    3 COUNTIF函数
    COUNTIF函数可以按条件求和。是一个非常有用的EXCEL函数。
    countif函数是使用频率最高的几个函数之一,下面针对这个函数做一个小小的专题.以方便大家学习,此文是本站原创。转载请注明转自“excel精英培训”

    一、countif函数的用途
    countif函数是根据条件在另一个区域进行个数的统计,一方面它可以完成符合条件的统计计算。另一方面由此扩展出它可以进行重复值的查找我表格的核对。
    二、countif的基本语法:
    COUNTIF(单元格引用, 条件)

    参数说明:
    1 第一个参数只能是单元格引用方式,不能使用内存数组
    2 第二个参数是条件,条件可以是值,可以是字符串构成的复合条件,可以使用通配符进行模糊统计,可以使用内存数组。
    应用示例:
    例1:统计在A列是“公司A”的个数
    公式=Countif(A:A,"公司A")
    例2:统计A列包含“公司A”的个数
    公式=Countif(A:A,"*公司A*")
    注:这里使用通配*表示字符前后有任意个字符。
    例3:统计C列成绩大于60的学生个数
    公式 =Countif(C:C,">60")
    注:这里是用运算对比符号和数字构成的条件
    例4:统计大于C1单元格数值的C列个数。
    公式:=Countif(c:c,">" & c1)
    注:这里是用&插入了一个变量,即C1的值。
    例5:统计C列大于平均数的个数
    公式:=Countif(c:c,">" & average(c:c))
    注:这里是使用了平均值函数average先计算平均值,然后作为条件。
    例6:统计A列为“公司A”或“公司B”的个数
    公式:{=Sum(Countif(A:A,{"公司A","公司B"})) }
    注:这里在第二个参数里加入了常量数组,使用countif的结果是分别按两个公司名称统计的结果,也是一个数组假如是{3,4},得到数组后用sum函数对两个数进行求和,得到总的个数,这个公式是数组公式,所以一定要输入公式后把光标放在公式最后,按ctrl+shift,然后按enter键结束输入。
    另:也许也还会问,如果设置更多条件该怎么弄,兰色幻想建议使用另一个可以多条件求和与计数的函数:sumproduct
    例:统计大于1000,小于3000的数字个数
    =sumprodcut((a1:a100>1000)*(a1:a100<3000))

  • 相关阅读:
    java连接mysql数据库
    在多分类任务实验中用torch.nn实现dropout
    在多分类任务实验中手动实现实现dropout
    Ubuntu 20.04 使用参考博客
    多分类任务中不同隐藏单元个数对实验结果的影响
    多分类任务中不同隐藏层层数对实验结果的影响
    利用torch.nn实现前馈神经网络解决 多分类 任务使用至少三种不同的激活函数
    利用torch.nn实现前馈神经网络解决 二分类 任务
    torch.nn.BCELoss用法
    写了个小爬虫,为何用上代理ip总是出现错误。
  • 原文地址:https://www.cnblogs.com/hwtmhj/p/7002661.html
Copyright © 2011-2022 走看看