1.数据分析步骤
提出问题
提出一个好问题,是成功的一半。面对一堆数据,同样也需要提出问题,这样才能为后面的具体步骤找到方向和侧重点。
如某游戏公司想找一位明星为其新开发的游戏进行代言。明星那么多,如何才能话最少的钱,起到最大的宣传的效果呢?问题一旦提出来,就会从明星拥有粉丝的数量,最近的活跃度,明星的代言大概价位这个方面进行重点分析。
理解数据
包括三个方面:第一,采集数据。从定义的问题开始,采集相关的数据。第二,导入数据。要分析的数据会存储数据库或者excel文件中,也有可能在web的api的接口中。第三,查看数据集信息。包括数据统计信息。对数据整理理解,会数据分析建立一个宏观的认识。
数据清洗
数据清洗,也成数据预处理。因为数据在采集或存储过程中,有些数据不符合要求,不方面的后续的处理。因此需要对数据进行处理,变成能够被我们使用的格式。
构建模型
构建模型,也就是数学建模。根据问题难易程度,那么建模也有差异。简单的数据,如果一个餐馆一年的消费总金额,客单价,月均收入等。还有一些复杂的,需要利用机器学习,进行数据建模。
数据可视化
数据的分析,一定会有数据分析报告。我们既要会做,也要会说。为了更好的表达自己,那么展示的自己的成果的方式就是图标。通过可视化的方式,把自己的成果展示给自己的领导或客户看。
2. 要点总结
数据分析我们会用到numpy和pandas相关的库。对其中核心的要点总结如下
numpy
numpy 中empty的用法
许多ufunc是简单的元素级变体,如sqrt,exp
pandas
Series, DataFrame,是pandas两种常用的数据类型;
Series 类似于一维数组的对象,数据类型包含numpy的数据类型,以及与之相对的数据标签构成
将Series 看成是一个定长的有序字典,因为他是索引值到数据值的一个映射。它可以用在许多原本需要字典参数的函数中。可以将数据存放在一个python的字典中,也可以直接通过这个字典来创建Series。
pandas 中有函数isnull,notnull 用于判断数组中数据是否为空,可以用于检测缺失数据。
Series最重要的功能在算术运算中将不同索引的数据进行自动对齐。
series 数组进行加法运算,两个数组都有的数据,那么会对里面的数据进行加法运算。没有的数据,会进行集合运算,但是对应的数据是NAN。
Series 对象本身及其索引都一个name的属性。该属性跟pandas其它的关键功能关系非常密切。
Series 的索引可以通过赋值来进行就地修改。
DataFrame是一个表格型数据结构,它含有一组有序的列,每列可以是不同的值类型。既有行索引,也有列索引,它可以被看做是Series 组成的字典。DataFrame 中面向行和面向列的操作基本上是平衡的。
DataFrame列用 columns,index 用于行索引
对DataFrame 的数据进行修改时,必须保证列表或数字和DataFrame的长度相匹配。
如果用Series进行赋值,就会精确匹配DataFrame的索引,所有的空位都将被填上缺失值。
DataFrame常见的数据形式是嵌套字典,就是字典中中的字典。对应的DataFrame,键的外层对是DataFrame的列,内层对应的是DataFrame的行索引。
DataFrame 的行列索引
如果有读取execl 文件,需要装载 xlrd 或openpyxl 安装包
3.遇到的问题
当时出现这个告警时,一直没有找到原因。‘销售时间’,本来的数据是string,怎么会变成float的呢?打开数据表格,发现‘销售时间’这一列空的数据。而python中,空的数据是用NaN表示。NaN 和None 型是有差别的。差别如下
NaN型,对应的float的数据格式,所以他不具有split()这个方法。
因此需要‘销售时间’这一列数据进行清洗,把含有NaN的数据项清除出去。因此在前面执行如下命令行
salesDf=salesDf.dropna(subset=[ ],how=‘any’)
在dropna的函数中,sunset 设定为空集。以为不指定,表示对所有范围进行清除。但是实际执行时,如果为空,表示不执行数据集任何为空的行。因此需要重新制定,才能被正确清除。正确的代码如下:
salesDf=salesDf.dropna(subset=[‘销售时间’,‘社保卡号’],how=‘any’)
。执行的上述,后面的告警才正式消除。
DataFram 的数据进行索引时,经常使用loc的属性。加入要索引某列,使用的代码如下
data1.loc[:,列号索引]。而在实际应用中,如果写成data1[列号索引],是否有问题?
实际应用中,没有发现问题。而且通过id函数,发现这个两个指向是一个内存单元,可以理解为这两种索引方式是等价。
本次主要学习《利用python进行数据分析》的知识学习。书中有对numpy,pandas,还有文件的读写进行初步讲解。由于主要进行基础性入门的讲解,对这两种数据格式有一个初步了解,对文件的操作,有一个大概认识。而要加深了解,还需要持续的学习和实践。
学习一个东西真的有难度,可能刚开始有一腔热血,但是能够在长期的枯燥中,还能不停的进步,不停的学习,这个才是难的。但是,也正是这样,人与人之间才能拉开距离。希望自己的通过不停的闯关,不停的进步,成为真正入门人工智能的人。或许因为是人工智能魅力,吸引着我往前走。
读者福利:知道你对Python感兴趣,便准备了这套python学习资料
[[CSDN大礼包:《python兼职资源&全套学习资料》免费分享]](安全链接,放心点击)
对于0基础小白入门:
如果你是零基础小白,想快速入门Python是可以考虑的。
一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案
包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等习教程。带你从零基础系统性的学好Python!
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)
温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
检查学习结果。
上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码 即可领取↓↓↓