大家好,又见面了,我是你们的朋友全栈君。
写在前文,首先声明博主对数据分析领域也在不断学习当中,文章中难免可能会出现一些错误,欢迎大家及时指正,博主在此之前也曾对不同量级、不同领域的数据进行过分析,但是在过程中总是感觉有许多困惑,即自己也会问自己?自己分析的是否全面,是否有价值,从哪些方面出发?对于这些问题博主做了思考。归根到底还是在理论上,在阅读了相关的专业书籍和材料的基础上总结出本文,希望能给大家带来收获,同时由于内容过多,计划分三次完成全部内容,同时如果大家感觉对自己有帮助的话,记得收藏,博主会不断完善本文的缺陷和不足,希望真正能给大家带来收获!
目录
一、什么是数据分析
- 数据分析是指数据分析师根据分析目的,用适当的分析方法及工具,对数据进行处理与分析,提取有价值的信息,形成有效结论的过程,对现状主要有三大作用-即现状分析、原因分析、预测分析,数据分析的目的是把隐藏在一大批看似杂乱无章的数据背后的信息集中和提炼出来,总结出所研究对象的内在规律。数据也称观测值,是通过实验、测量、观察、调查等方式获取的结果,常常以数量的形式展现出来。高级的分析方法不一定师最好的,能够简单有效解决问题的方法才是最好的,因此一定要用恰当的方法来分析看待问题,而不是一味的追求高级的方法,能用图表示的不用表格表示,能用表格表示的不用文字表示!
- 数据分析的一般流程:
二、基础分析指标和术语
2.1 平均数
- 我们在日常生活中提到的平均数,一般是指算术平均数,就是一组数据的算术平均值,即全部数据累加后除以数据个数。算术平均数是非常重要的基础性指标,它的特点是将总体内各单位的数量差异抽象化,代表总体的一般水平,掩盖了总体内各单位的差异。
2.2 绝对数与相对数
- 绝对数是反映客观现象总体在一定时间、地点条件下的总规模、总水平的综合性指标,也是数据分析中常用的指标,如GDP、总人口等。此外,绝对数也可以表现为在一定时间、地点条件下数量增减变化的绝对数,比如一班学生比二班学生多20人。
- 相对数是指由两个有联系的指标对比计算而得到的数值,是用以反映客观现象之间数量联系程度的综合指标。计算相对数的基本公式是:
- 相对数=自身数值数值/与其进行对比的数值
2.3 百分比与百分点
- 百分比是相对数中的一种,他表示一个数是另一个数的百分之几,也成为百分率或者百分数,百分点则是指不同时期以百分数的形式表示的相对指标的变动幅度
- 举个简单的例子:在学校高三誓师大会上,校长振臂高呼,今年我们的一本升学率是60%,比去年50%整整提高了10%
- 学习完百分比和百分点概念的你们是不是可以很轻松的发现其中的问题,对于幅度的变化不宜使用百分数来表示,因此校长正确的讲话应该是:今年我们的一本升学率是60%,比去年50%整整提高了10个百分点!(就算你学会了请别在你们校长老师讲话时直接DISS,说了也不要说时看小王这篇博客学会的)
2.4 频数与频率
- 频数是指一组数据中个别数据重复出现的次数,而频率则表示每组类别次数与总次数的比值,它代表某类别在总体中出现的频繁程度,一般采用百分数表示,所有组的概率夹在一起等于100%,频数是绝对是,而频率是相对数。
- 举个简单的例子:某班级共有30人,其中男生15人,女生15人,这里的15人就是频数,而男生在该班的比例为50%,这50%指的就是频率。
2.5 比例与比率
- 比例指的是在总体中各部门数值占全部数值的比重,通常反应的是总体的构成和结构,比率则是指不桶类别数值的对比,反映的是一个整体之间各部分的关系。
- 举个简单的例子:还是我们上个例子提到的那个班级,男生有15人,总共有30人,那么男生和女生的比例就是15:30,而男生和女生之间的比率则是15:15,即1:1.
2.6 倍数与番数
- 倍数和番数同样属于相对数,倍数所表示的是一个数除以另一个数所表示的商,番数则是指原来数量的2的N次方倍数
- 举个简单的例子:公司年会上,老总振臂高呼,今年我们场产量由去年的10万件翻了两番,提升到今年的20万件,我们的成本由去年的2万元,下降了一倍,今年的成本是1万元
- 学习完倍数和番数的我们很容易就可以发现上面老总振臂高呼的其实是不恰当的,正确的表达应该是:今年我们场产量由去年的10万件,提升到今年的20万件,整体翻了一番,我们的成本由去年的2万元,下降到了50%,今年的成本是1万元。
2.7 同比与环比
- 同比是指与历史同时期进行比较得到的数值,该指标反映的是相对情况,环比则是指与前一个统计期进行比较得到的数值,该指标主要反映的是事物逐期发展的情况。
- 两者所反映尽管都是变化速度,但两者反映的变化内涵是完全不同的。一般来说,环比可以与环比相比较,而不能拿同比与环比相比较;而对于同一个地方,考虑时间纵向上发展趋势的反映,则往往要把同比与环比放在一起进行对照。
三、数据分析方法论
- 数据分析方法论与数据分析法的区别:数据分析方法论主要是用来指导数据分析师进行一次完整的数据分析,它更多的是指数据分析思路,比如从哪些方面展开的数据分析,即从宏观角度来指导如何进行数据分析,更像是一个数据分析的一个前期规划,来指导后续工作的展开,而数据分析方法则是指具体的分析方法,比如我们常见的对比分析、交叉分析、相关分析、回归分析、聚类分析等等,数据分析法主要从微观来对数据进行分析
- 举个简单的例子:什么是数据分析方法论?对一个城市的规划书就是一个方法论,因为他是为城市的发展来指引前进的方向,而在具体的实施过程中需要不同部门不同专业的人士来进行具体部分的操作,这就是分析方法
- 数据分析方法论的重要性:为什么说数据分析方法论很重要那,在我们进行一些分析的时候是不是也会产生疑问,我的分析完整么?有说服性么?合理么?这就是为什么说数据分析方法论很重要的原因,只有在具体的理论和业务知道的情况下,才能确保我么的分析是合理有效的。
- 数据分析方法论的几个作用:
- 可以帮助我们理清楚分析的思路,确保分析过程的体系化
- 可以看出问题之间的关系
- 为数据分析的开展指引方向和确保分析结果的有效准确合理性
- 数据分析方法论的几个作用:
常用的数据分析方法论
- 常见的营销方面的理论模型有4P、用户使用行为、STP理论、SWOT等等
- 常见的管理方面的理论模型有PEST、5W2H、时间管理、生命周期、逻辑树、金字塔、SMART原则,其中比较经典实用的主要有:PEST分析法、5W2H、逻辑树、4P、用户使用行为
3.1PEST分析法
- PEST分析法用于对宏观环境进行分析。宏观环境又称一般环境,是指影响一切行业和企业的各种宏观力量。对宏观环境因素做分析时,由于不同行业和企业有其自身特点和经营需要,分析的具体内容会有差异,但一般都应对政治( Political)、经济( Economic )、技术(Technological )和社会 (Social )这四大类影响企业的主要外部环境因素进行分析,这种方法简称为PEST分析法。
- 政治环境:包括国家社会制度、政府方针、政策、法令,构成政治环境的关键指标有:政治体制、经济体制、财政政策、税收政策、产业政策、投资政策、国防开支水平、政府补贴水平、民众对政治的参与度等等。
- 经济环境:经济环境主要包括宏观和微观两个方面的内容,宏观主要是指国家的国民收入、国内生产总值及其变化情况,以及通过这些指标反映的国民经济发展水平和发展速度。微观经济环境主要指企业所在地区和所服务地区的消费者的收入水平等,构成经济环境的关键指标主要有:GDP增长率、进出口额及增长率、利率、汇率、通货膨胀率、消费价格指数、居民可支配收入、失业率、劳动生产率等等
- 社会环境:社会环境包括一个国家或地区的居民受教育程度和文化水平、宗教信仰、风俗习惯、价值观念、审美观点等。构成社会文化环境的关键指标有:人口规模、性别比例、年龄结构、出生率、死亡率、种族结构、妇女生育率、生活方式、购买习惯、教育状况、城市特点、宗教信仰状况等因素。
- 技术环境:技术环境除了要考察与企业所处领域直接相关的技术手段的发展变化外,还应及时了解:国家对科技开发的投资和支持重点、该领域技术发展动态和研究开发费用总额、技术转移和技术商品化速度、专利及其保护情况等。构成技术环境的关键指标主要有:新技术的发明、技术商品化速度、国家重点支持项目、国家投入的研发费用、专利个数、专利保护情况等。
3.2 5W2H分析法
- 5w2H分析法是以五个W开头的英语单词和两个H开头的英语单词进行提问,从回答中发现解决问题的线索,即何因( why )、何事( what )、何人 ( who )、何时( When )、何地( where ) 、如何做(How )、何价( How much ),这就构成了5W2H分析法的总框架
- 5w2H分析法操作简单方便、易于理解,通常应用于企业营销、管理活动,对于决策和执行活动有很大的帮助,可以弥补考虑问题中的疏漏,帮助建立数据分析的框架
- 比如对用户购买行为的分析
3.3 逻辑树分析法
- 逻辑树分析法,又称为麦肯锡逻辑树,其最大的优势在于,将繁杂的数据工作细分为多个关系密切的部分,不断地分解问题,帮助人们在纷繁复杂的现象中找出关键点,推动问题的解决。逻辑树是分析问题常使用的一种工具,他将各种问题进行罗列。从最高层开始,逐步向下发展,把一个已知的问题看作树干,考虑这个问题与其他问题的相关性,有助于在分析过程中快速理清思路,避免进行重复和无关的思考,逻辑树的使用需要遵循以下原则:
- 要素化:把相同问题总结归纳成要素
- 框架化:将各个要素组织成框架,遵守不重不漏的原则
- 关联化:框架内的各要素要保持必要的相互关系
3.4 4P营销理论
- 4P营销理论产生于20世纪60年代的美国,它是随着营销组合理论的提出而出现的。营销组合实际上有几十个要素,这些要素可以概括为4类,产品( Product )、价格( Price )、渠道( Place )、促销( Promotion ),即著名的4P营销理论。
3.5 用户使用行为理论
- 用户使用行为是指用户为获取、使用物品或服务所采取的各种行动,用户对产品首先需要有一个认知、熟悉的过程,然后使用,再决定是否继续消费使用,最后成为核心用户,
3.6 数据分析方法论小结
- PEST分析理论主要用于行业分析。
- 4P分析理论主要用于公司整体经营情况分析。
- 逻辑树分析理论可用于业务问题专题分析。
- 用户使用行为理论的用途较单一,就是用于用户行为研究分析。
- 5w2H分析理论的用途相对广泛,可用于用户行为分析、业务问题专题分析等。
虽然上述的方法论一般用于解决的分析问题不同,但是可以进行嵌套使用,比如用逻辑树来搭建分析框架,从4P的角度进行分析等等,最关键的是一定要具体问题具体分析!
四、常用的数据分析工具
- 工欲善其事,必先利其器。熟练掌握一个数据分析工具可以事半功倍的解决问题。数据分析工具有多种,它们的使用都离不开数据获取、数据处理、数据分析、数据展现这几方面常用的数据分析工具如Excel、sPSS、R、Python等
- Excel是日常工作中最常用的一款工具之一,它是Microsoft公司的-款电子表格软件,拥有直观的界面、出色的计算功能和图表工具,是目前最流行的数据处理、分析工具。它可以进行各种数据处理、数据分析和数据可视化,甚至也可以用于报告撰写,广泛地应用于运营、管理、分析、财务、金融等众多领域,它的特点就是简单、易用,缺点则是数据存储有限、计算速度慢,扩展功能少。
- SPSS(Statistical Product and Service Solutions),“统计产品与服务解决方案”软件。最初软件全称为“社会科学统计软件包”(Solutions Statistical Package for the Social Sciences),但是随着SPSS产品服务领域的扩大和服务深度的增加,SPSS公司已于2000年正式将英文全称更改为“统计产品与服务解决方案”,这标志着SPSS的战略方向正在做出重大调整。SPSS为IBM公司推出的一系列用于统计学分析运算、数据挖掘、数据分析和决策支持任务的软件产品及相关服务的总称,有Windows和Mac OS X等版本。其优点主要有:操作简便、功能强大、数据兼容。
- R语言 R是一种免费、自由的编程语言,所以也称为R语言(其Logo 如图1-19所示),它由统计学家发明和发展,R解决的问题只有一个,就是如何挖掘数据价值的问题。R是一款强大的数据统计分析、数据可视化工具。其特点有免费开源、绘图功能强大、程序包丰富,但是对新手友好度不高,入门门槛比较高。同时同Python相比R计算速度较慢
- Python是一种免费、自由的编程语言,所以也称为Python语言,可以称得上既简单又功能强大的编程语言,它可用于软件、游戏、Web开发以及运维,当然也可以应用于数据分析、数据挖掘、数据可视化等,是一款强大的数据分析、数据挖掘工具。随着人工智能技术的流行,Python语言越来越普及。
-
出于对方法的优缺点和普及性的选择,本文选取基础的EXCEL和Python作为主要分析工具
五、理解数据
- 常用的数据类型可以归结为两大类:字符型与数据型和逻辑性,
- 字符型数据是不具有算术运算能力的文本数据类型。它包括中文字符、英文字符、数字字符(非数值型)等字符。字符型数据属于分类数据,即可以按字符型数据进行分类统计,如按性别分类统计,按部门分类统计,按姓名分类统计。
- 数值型数据表示数量,是可进行算术运算的数据类型。是否可用算术方法进行运算,是区分数据类型的重要特征。数值型数据属于一种特殊分类数据,即可以按数值型数据进行分类统计,如按每个年龄值进行分类统计,按每个收入值进行分类统计,不过类别值越多,其分类就越细,通常也就越难发现潜在规律。所以对数据值型数据进行分类统计,一般先将数值型数据进行分区间处理,再按区间段进行分类统计。
- 逻辑型数据只有TRUE 和 FALSE两种,分别代表是和否
- 在Excel中,一般情况下,字符型数据在单元格中默认靠左对齐,数值型数据在单元格中默认靠右对齐,逻辑型数据默认居中显示。
- 常见的数据处理方法包括:数据清洗、数据合并、数据抽取、数据计算、数据转换几大类方法
- 数据清洗:主要是将多余的数据进行筛选清除,将缺失的数据补充完整,常用的数据清洗方法主要有重复数据处理、缺失数据处理、空格数据处理。
5.1重复数据处理:
-
编号 B667708 B310882 B520304 B776477 B356517 B466074 B466074 B776477 B776477 B667708 - 如我们有目前的这一个编号,我们怎么进行去重?
-
Excel函数法去重
- COUNTIF函数–COUNTIF 是一个统计函数,用于统计满足某个条件的单元格的数量;
-
countif(区域,条件),在B2输入=COUNTIF(A:A,A2)表示在A行中共有多少个A2元素,在c2中输入C2 =COUNTIF(A$2:A2,A2),代表从第一个元素开始该单元格共出现了几次
编号 重复标记 前n个数据中有n个当前数据 B667708 2 1 B310882 1 1 B520304 1 1 B776477 3 1 B356517 1 1 B466074 2 1 B466074 2 2 B776477 3 2 B776477 3 3 B667708 2 2
肯定有小伙伴会问了,此时怎么得到不重复的数据那,这么做有什么意义那,此时我们只需要将C列进行筛选,筛选为1的值,即为不重复数据。
Excel高级筛选法查重
在Excel数据高级筛选中选择不重复的记录
Excel条件格式法查重
在开始选项卡中点击条件格式选择突出显示单元格原则,选择重复值
数据透视表法查重
用数据透视表统计各数据出现的频次,出现两次以上认为该数据属于重复数据
- 找出重复数据
使用python–pandas包下的duplicated函数
DataFrame.duplicated(subset=None, keep='first')
- subset:取得一列或列标签列表。默认值为无。传递列后,它将仅将它们视为重复项。
keep:控制如何考虑重复值。它只有三个不同的值,默认值为“第一”。
->如果为“第一个”,则它将第一个值视为唯一值,并将其余相同的值视为重复值。
->如果为“ last”,则它将last值视为唯一值,并将其余相同的值视为重复值。
->如果为False,则将所有相同的值视为重复项。
data.duplicated() #返回布尔型数据,告诉重复值的位置
df.duplicated.sum() #说明重复值的总数
data[data.duplicated()] #打印重复值
重复数据删除
- 1、使用EXCEL菜单栏里的删除重复值将重复的数据删除掉
- 2、使用python–pandas包下的duplicated函数删除重复值将重复的数据删除掉
#inplace=True表示直接在源数据上进行操作
data.drop_duplicates(inplace=True)
5.2 缺失数据处理
在数据处理过程中,缺失值的存在是不可避免的,缺失值过多反映在数据收集过程中出现问题,将直接影响到最终数据分析的准确性,缺失数据在总数据的10%以下方是可以接受的标准
对缺失值的处理一般采用批量填充
对于上述表格想要快速填充空值应该怎么做那?CTRL+G定位条件中选择空值,选上后输入公式(本例中单点一下“张三”即可),在CTRL+ENTER进行批量填充
可以看到所有的空值全部被选择上了
批量填充完毕
空格处理
可以采用TRIM函数 TRIM(TEXT)可以删除文本前后的空格,而保留文本中间的空格
在Python中删除字符串中所有空格有:使用replace()函数、使用split()函数+join()函数、使用Python正则表达式,正则表达式可以查看(Python-正则表达式总结+常用示例)
数据合并
- 通常数据表中现有的数据字段难以满足我们所有的数据分析需求,我们可以对现有的字段进行数据合并、数据抽取、数据计算或者数据转换等处理,形成数据分析所需要的新字段。数据合并是指综合数据表中某几个字段的信息或不同记录数据,将它们组合成一个新字段、新记录数据,常用的操作有字段合并、字段匹配。
- 1、CONCAT(text1, [text2],…),
-
如果结果字符串超过 32767 个字符(单元格限制),则 CONCAT 返回 #VALUE! 错误。
-
参数
说明
text1
(所需的)要联接的文本项。 字符串或字符串数组,如单元格区域。
[text2, …]
(可选)要联接的其他文本项。 文本项最多可以有 253 个文本参数。 每个参数可以是一个字符串或字符串数组,如单元格区域。
-
- 2、连接符& 可以直接合并多个单元格的内容,如你好&excel 输出 你好excel
- 3、concat和&链接日期数据时得到的都是字符型数据,excel中无法将其识别为日期,不能进行相应的计算,如果想生成相应的日期类型数据,需要使用DATE函DATE(year,month,day)。
- 4、如果有大量的表格分布在不同的文件夹中如何进行合并那?可以查看Python遍历目录下的所有文件、读取、千万条数据合并详解
5.3 数据抽取
- 常见的数据抽取方法有字段拆分和随机抽样:
- 字段拆分是指:是指保留原始数据表中某些字段的部分信息,形成一个新字段
- 随机抽样是指:按照随机的原则,也就是保证总体中每个样本都有同等机会被抽中的原则,进行样本抽取的一种方法
- 在EXCEL中进行随机抽样可以使用RAND()函数,RAND 返回了一个大于等于 0 且小于 1 的平均分布的随机实数。 每次计算工作表时都会返回一个新的随机实数。
- 举例说明:如果想随机抽取60-70之间的数,可以写成rand()*10+60,也可以使用RANDBETWEEN()函数
- 不经一番寒彻骨,怎得梅花扑鼻香
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126647.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...