数据分析流程

  1. 识别需求
    识别信息需求是确保数据分析过程有效性的首要条件,可以为收集数据、分析数据提供清晰的目标。
  2. 收集数据
    有目的的收集数据,是确保数据分析过程有效的基础。
  3. 分析数据(数据清洗)
    分析数据是将收集的数据通过加工、整理和分析、使其转化为信息,通常用方法有:
  4. 可视化
    将数据变得一目了然
    老七种工具,即排列图、因果图、分层法、调查表、散布图、直方图、控制图;
    新七种工具,即关联图、系统图、矩阵图、KJ法、计划评审技术、PDPC法、矩阵数据图。

概念(定性数据和定量数据

定性数据和定量数据的区别如下:

  1. 是否具有数值特征:

    1. 定性数据没有数值特征,不能对其数据进行数学运算。定性数据分为分类数据和顺序数据两类。

      1. 定类数据:如反映“职业”、“教育程度”等现象的属性特点的数据,只能用来区分事物,而不能用来表明实物之间的大小、优劣关系。
      2. 定序数据:如象“教育类别”这样的变量称为顺序变量,相应的观察结果就是顺序数据。说明事物有序类别的一个名称,这类变量的具体表现就是顺序数据。顺序数据的数据之间虽然可以比较大小,却无法计算相互之间的大小、高低或优劣的距离。
    2. 定量数据:反映“天气温度”、“月收入”等变量可以用数值表示其观察结果,而且这些数值具有明确的数值含义,不仅能分类而且能测量出来具体大小和差异。这些变量就是定量变量也称数值变量,定量变量的观察结果成为定量数据。
  2. 计量精度不同
    1. 定性数据只能粗略区分事物特征,无法计算比较相互间大小,计量精度不高。
    2. 定量数据作为统计研究的主要资料, 不仅能分类而且能测量出来具体大小和差异,其计量精度远远高于定性数据。
  3. 统计方法不同
    1. 定性数据多采用描述性统计分析方法,非参数检验等。
    2. 定量数据可采用描述性统计分析,也可采用推断性统计分析、参数检验或统计模型。

例:
这是一列定性数据,但是很明显,这列数据是需要计算建模的数据

转换为具有运算特征的定量数据

x['Biweekly High Rate']=x['Biweekly High Rate'].map(lambda v:v.replace("$",'')).astype(float)

思路

在读取文件时可以用导入csv包 (专门处理csv)

它会把每一条数据都包装成一个list 以便下一步操作

with open('ebola.csv','r') as a:#按每一行读取for i in csv.reader(a):print(i)  #每一条数据都是一个list#读取为字典型  样式:OrderedDict([('Year', '1968'), ('Males', '1118.5')])#可以使用   i['Year']取值for i in csv.DictReader(a):print(i)

在数据分析时经常遇到排序问题,最常见的就是利用时间对数据进行排序

如果要用时间作图作为x轴或者y轴 一定要使用datetime进行时间转换(原因请看下一个案例)
转换时间的方式

a='2014-09-26'
x=time.strptime(a,'%Y-%m-%d')
z=dt.datetime.strptime(a,"%Y-%m-%d").date()
y=dt.datetime.strptime(a,"%Y-%m-%d").time()

两种方法都可以排序

import timedatalist=sorted(data,key=lambda x:time.strptime(x[2],'%Y-%m-%d'),reverse=True)
print(datalist)

*使用matplotlib.pyplot绘图 (图像显示错误)

这个问题很重要显示错误和显示不出,可能都是这个问题一定要时刻注意

#y轴需要的数据#未修改代码
#gy=[x[3] for x in Guinea]
#ny=[x[3] for x in Nigeria]
#sy=[x[3] for x in SierraLeone]
#修改代码
gy=[float(x[3]) for x in Guinea]
ny=[float(x[3]) for x in Nigeria]
sy=[float(x[3]) for x in SierraLeone]plt.plot(gx,gy,'r-')plt.show()

下图为修改代码之前 发现y轴的数据,并没有自动解析 一个段一个段出来

分析:
仔细看了一下学习时候的代码,发现在使用matplotlib.pyplot绘图时,x轴或者y轴的数据都是可以做递增的数据 比如 坐标x轴上有:1,2,3,4,5,6,7,8 x轴上的数就可以解析为 2 4 6 8
然而原始数据不做处理的时候,类型都是str,可能是str不能做出自动解析

数据分析必用工具 pandas

首先了解pandas的索引方式极其基本使用方法以便数据的清洗

主要有两种: .loc标签索引 .iloc位置索引 (先按标签索引进行尝试操作,再位置)
现在有一个pandas数据df

#取出第一行
df[0:1]
#利用列名
df[  ['列名1','列名2' ]   ]
#最常用的位置索引方法
df.iloc[0:2,0]   #取出  0-2(不包括2)行的第一列数据

pandas怎么精确的取出带有什么数据的某一行或者一列的值

ps:比如取出 索引为长郡中学的行

a.loc[a.index == '长郡中学']

ps:比如取出 索引为长郡中学或者长沙一中的行,支持运算符 &(and) |(or)
这里注意:里面是两个元组样式的,否则报错

a[  (a.index == '长郡中学') | (a.index=='长沙市第六中学')]

当然也支持这样:

a[   a['列名']==?    ]
#pandas-如何得到某一个值所在的行
df[df['列名'].isin([相应的值])]

修改索引名,列名,数据合并

这一点顺便一提,很多时候不同数据整合要统一才能使用merge()合并

#使用rename()修改
a=dd.count().rename(index={'师大附中':'湖南师大附中','长沙市第一中学':'长沙市一中'},columns={'序号':'人数'})

还有一种方法时候修改大多数索引 set_index()
数据合并
参考sql中的inner left_inner right_inner

#参数说明:数据1  数据2   左键   右键   连接方式    默认以重合列做键
pd.merge(a,b,left_on='key1',right_on='key2',how='right')

pandas带有自动转换类型的方法

#ps:data[''].astype(int)#时间pd.to_datetime(data_us['dt'])

DataFrame.plot(*args, **kwargs)

参数解读(官方)

  1. kind:str
    str:
    ‘line’:折线图(默认)
    ‘bar’:垂直条形图
    ‘barh’:水平条形图
    ‘hist’:直方图
    ‘box’:箱线图
    ‘kde’:内核密度估计图
    ‘density’:与’kde’相同
    ‘area’:面积图
    ‘pie’:饼图
    ‘scatter’:散点图
    ‘hexbin’:六边形图。

  2. grid : boolean(是否显示网格)

  3. fontsize int(字体大小)

  4. ax(可以用来设置画布大小)

  5. stacked:boolean(是否纵向显示数据)

    例:

DataFrame.hist()&Series.hist()

常用参数

  1. bins:int
    分成几块
  2. by:对象,可选
    如果通过,则用于形成单独组的直方图。
  3. figsize 元组
  4. alpha:0-1 透明度
  5. color:srt 颜色
  6. sharex 共享(x轴设为一样的)
    要创建的图形的尺寸(以英寸为单位)
    例:

Pathon做数据分析相关推荐

  1. 创业公司如何做数据分析(一)开篇

    在过去的一年里,笔者加入了一家移动互联网创业公司,工作之一便是负责数据业务的建设,陆陆续续完成了一些数据系统的实现,来满足公司的数据需求.在创业公司中做数据相关的事情,而且是从零做起,肯定不像很多大公 ...

  2. python做数据分析的包_用Python做数据分析,Numpy,Pandas,matp

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 用Python做数据分析,Numpy,Pandas,matplotlib是怎么也绕不开的三个包,我最开始学习pandas是看的<利用Python进行 ...

  3. 一个为制造业而生的AI助手,普通员工向它提问就能做数据分析

    赖可 发自 凹非寺 量子位 报道 | 公众号 QbitAI 制造业正面临着新境遇. 产业链.供应链周期变短,不确定因素增加.数字化转型呼之欲出,AI落地的需求越来越明显. 怎样让AI技术切实创造效益呢 ...

  4. python数据分析的主要流程-用Python语言做数据分析基本思路和流程

    当下用PYTHON做数据分析实在是太火了!大多数招聘信息里都要求应聘者会使用PYTHON做数据分析.PYTHON语言功能确实很强大,俗称"胶水语言".那么我们大多数职场人士真的有机 ...

  5. python 数据分析学什么-利用Python做数据分析 需要学习哪些知识

    根据调查结果,十大最常用的数据工具中有八个来自或利用Python.Python广泛应用于所有数据科学领域,包括数据分析.机器学习.深度学习和数据可视化.不过你知道如何利用Python做数据分析吗?需要 ...

  6. 用python做数据分析,安装包一次到位

    用python做数据分析 安装包一次到位 pip install numpy pandas scipy matplotlib sklearn lxml re requests bs4 tushare ...

  7. 创业公司做数据分析(三)用户行为数据采集系统 (转)

    http://blog.csdn.net/zwgdft/article/details/53542597 作为系列文章的第三篇,本文将重点探讨数据采集层中的用户行为数据采集系统.这里的用户行为,指的是 ...

  8. 搭建一个jupyter站点做数据分析吧

    jupyter jupyter 是一个非常适合做数据分析的工作台.为了可以使得jupyter可以运行在服务器上访问生产环境的数据,今天我要在服务器上搭建一个jupyter站点. 容器 为了不和线上的其 ...

  9. 你还在用Python做数据分析么?

    被大数据分析算法刷屏的各种推荐,刷个抖音,被频繁的推荐可能认识的人,其中就包括分手一年多的前女友:淘宝闲逛,推送的都是你妈妈搜索过的中老年大码女装:微博浑水,你多看了两秒钟"十二星座理想中的 ...

最新文章

  1. 廉颇老矣,尚能饭否?响鼓重擂,上阵杀敌!
  2. 【软件工程】CMMI 能力成熟度模型集成 ( 简介 | 相关术语 | CMMI 等级评估次序 )
  3. 使用vue-axios请求geoJson数据报错的问题
  4. spring boot web项目_阿里技术专家带你使用Spring框架快速搭建Web工程项目
  5. 自己动手写Docker系列 -- 5.3实现logs命令查看容器日志
  6. Android Studio安装以及Fetching android sdk component information超时的解决方案
  7. 获取Repeater中Footer/HeaderTemplate 中的控件
  8. MLK-12Q-DC48多路直流电能表说明书
  9. 基于FPGA的SDRAM控制器设计(4)
  10. thon中的全局变量
  11. 浏览器被hao360劫持解决办法
  12. 我家猫老喜欢和我躲猫猫,我用Python赶忙写了个猫脸检测器。在哪里都逃不出我的手心。
  13. 小白友好——C++基于EeayX简单开发的豪华版贪吃蛇[单人模式+双蛇对战+闯关模式(地图跳转)+排行榜+音乐]
  14. GUID 分区表详解
  15. android 市场 历史版本,安卓市场旧版本
  16. 异常:java.lang.LinkageError: loader constraint violation: when resolving interface method javax.servl
  17. OOM和StackOverFlow的区别
  18. 高中教师计算机面试什么时候,高中信息技术教师资格证备考经验分享(面试篇)...
  19. python组合键触发_Python3 tkinter基础 Frame bind 捕捉多键同时按
  20. a股自动下单 python_python实现A股自动盯盘(基于baostock)

热门文章

  1. 古老计算机的显卡,老电脑换卡还能战三年 低价位显卡盘点
  2. Yield Guild Games:社区更新——2022 年第 3 季度
  3. 堡垒机 jumpserver
  4. 【深度学习】扩散模型(Diffusion Model)详解
  5. 一阶差分链码+最小表示法
  6. C++与线性代数(一)实现行列式的计算
  7. 产品经理面试:自我介绍
  8. win10 护眼模式的开启和关闭
  9. 一个新人想要从零基础成为次世代游戏设计师,需要哪些阶段呢?
  10. 微软lumia固件服务器,微软Lumia 950 XL刷Win10 ARM项目已适配20H1更新