mysql 数据分析的步骤_数据分析8个主要步骤

# 在对数据进行分析时,主要细分为明确目标、应用思维和如下8个具体步骤:

1、读取数据

2、清洗数据

3、操作数据

4、转换数据

5、整理数据

6、分析数据

7、展现数据

8、总结报告

接下来将介绍使用python来具体处理数据,包括上面几个步骤的实现,以及给出具体的操作例子。

需要记住的是使用python处理数据所用到的 具体函数、方法。

#一、python读取数据

''''''

1、简要

2、如何从Excel文件中读取数据

3、如何从MySQL数据库中读取数据

4、如何从网页中读取数据

''''''

1、简要

读取数据时数据分析的第一步,相对来说比较简单,读取数据类型可以大致分为几类,一般用到的都是从 excel表、数据库、网页中进行读取。

我们使用python中的pandas库来实现读取操作。

2、如何从Excel文件中读取数据

Python代码如下:

读取数据之前需要导入pandas库

#导入pandas库

import pandas as pd

#导入Excel文件

df = pd.read_excel('文件名.xlsx')

3、如何从MySQL数据库中读取数据

读取数据之前需要安装pymysql模块

# 安装pymysql模块(在终端操作)

pip install pymysql

#安装后,读取操作代码如下:

import pandas as pd

import pymysql

# 创建数据库连接

conn = pymysql.connect(host='', user='', passwd='', database='')

# 创建游标

cursor = conn.cursor()

# 写SQL语句

sql = "select * from 表名"

#读取数据

df = pd.read_sql(sql,conn)

df.head()

# 关闭游标

cursor.close()

# 关闭连接

conn.close()

4、如何从网页中读取数据

访问网页时需要用到ssl模块,解决证书不受信任问题

import ssl

ssl._create_default_https_context = ssl._create_unverified_context

# 网址

url = 'http://s.askci.com/stock/a/?reportTime=2019-03-31&pageNum=1'

#读取网页中表格数据

dfs = pd.read_html(url)

#二、python清洗数据

'''

1、如何查找异常

2、如何排除重复

3、如何删除缺失

4、如何补全缺失

5、应用案例

'''

下面使用待清洗的扑克牌作为示例,来完成以上操作。

import numpy as np

import andas as pd

pd.set_option('max_rows',10)

df = df.read_excel("待清洗的扑克牌.xlsx")

df

返回结果如下:

bff7e14a0418de198398fa04d0b2cc6e.png

41215e0109e7b1aefe4f158ae6341f8a.png

1、如何查找异常

在清洗数据之前需要把异常的数据查找出来,观察异常数据特征,然后确定清洗方法。

一般查找数据异常方式:

查找某一列缺失

查找重复的行列

查找某一列的唯一值

#查找花色缺失的行

df[df.花色.isnull()]

d72bf5e22c0f2bc6d8b0612bc792707e.png

# 查找完全重复的行

df[df.duplicated()]

55e98f5b5239b1c0e1088deec48bc262.png

# 查找某一列重复的行

df[df.编号.duplicated()]

6d6b8ae67bd7510a9ec27ac1d12bcd62.png

#查找牌面所有唯一值

df.牌面.unique()

返回结果如下:

a6ec84cc02611b130aa020da37b0444a.png

根据常识可以得出,'30'为异常值。

#查找牌面包含30的异常值

df[df.牌面.isin(['30'])]

8cf2d95d6897482eaef341e48c0df90e.png

2、如何排除重复

使用drop_duplicates()函数,在排除重复后会得到新的返回值。

#排除完全重复的行,默认保留第一行

df.drop_duplicates()

189dcadd9481e757ddbe3623ab6ceb38.png

# 按照莫一列排除重复,默认保留第一行

df.drop_duplicates(['花色'])

# 按照莫一列排除重复,默认保留最后一行

df.drop_duplicates(['花色'],keep = 'last')

3、如何删除缺失

使用dropna()默认删除包含缺失的行

使用扑克牌中不重复的花色为例

color =  df.drop_duplicates(['花色'])

dcb9196aee5ab6fed6640724217866ab.png

#删除花色缺失的行

color.dropna()

#删除整行全部为空的行,需要指定how参数

color.dropna(how='all')

#删除包含缺失值的列

color.dropna(axis = 1)

4、如何补全缺失

# 使用fillna()函数可以将缺失值填充成制定的值。

color.fillna('joker')

c8c01fbfbd4e60295f8d9849e6673c28.png

# 使用临近值填充需要指定method参数

#用后面的值填充

color.fillna(method= 'bfill')

3cd81930f791e5285c18f1dcebd99eb7.png

# 按字典填充

# 先制定一个缺失值

color.loc[2,'牌面'] = np.nan

color

1f6399ca71751841c634b66215394de2.png

7251a7e071e1f22a8c2348b03057ae8d.png

#按列自定义补全缺失值

color.fillna({'花色':0,'牌面':1})

d8cebda50c3aa9a048ee2688f7a256f6.png

5、应用案例

import numpy as np

import pandas as pd

# 设置最多显示10行

pd.set_option('max_rows',10)

#从Excel文件中读取原始数据

df = pd.read_excel('待清洗的扑克牌'.xlsx)

#补全缺失值

df = pd.fillna('joker')

#排除重复值

df = pd.drop_duplicates()

# 修改异常值

df.loc[4,'牌面'] = 3

# 增加一张缺少的牌

df = df.append({'编号':4,'花色':'黑桃♠','牌面':2},ignore_index = True)

#按编号排序

df = df.sort_values('编号')

# 重置索引

df = df.reset_index()

# 删除多余的列

df = df.drop(['index'],axis = 1)

#清洗好的数据保存到excel文件中

df.to_excel('清洗好的扑克牌'.xlsx,index = False)

df

9fb109e99509bde0f1a7f528e680a1b6.png

上图为完整的扑克牌数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/396507.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一、win7下安装yii2

作者:PHP学习网 出处:http://www.viphper.com/?p1159 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 之前在liunx上安装过yii…

vs dll必须和exe在同一个目录_Win10系统丢失 .dll 文件的三种解决方案教程

有时候开机或打开一个软件时,系统会提示无法启动程序,这是怎么回事呢?这是因为计算机丢失某个或某些dll文件,由于系统本身不存在这些运行库文件,需要进行添加才能使用该软件。方法一:下载丢失的.dll文件&am…

datagrid页面获取表单一条数据的例子

【问题背景】 最近在做ITOO考评的时候想从页面获取表单选中的数据: 【代码】 在数据网格(datagrid)组件包含两种方法来检索选中行数据: getSelected:取得第一个选中行数据,如果没有选中行,则返回…

Spring+SpringMVC+MyBatis+easyUI整合基础篇(十)SVN搭建

前言 前面一篇文章讲了一下版本控制,但其实这一篇并没有打算讲细节的,感觉应该自己去动手弄一下,后来考虑了一下,版本控制真的挺重要的,如果自己实在搭建不好反而不去使用的话,真的有点可惜,当然…

串口数据波形显示_【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传可飙到500KB/S...

【专题教程第6期】SEGGER的J-Scope波形上位机软件,RTT模式波形上传速度可狂飙到500KB/S左右说明:1、在实际项目中,很多时候,我们需要将传感器或者ADC的数值以波形的形式显示。通常的解决办法是用串口上位机,USB接口上位…

JavaScript-基础入门.0014.JavaScript内置对象

2019独角兽企业重金招聘Python工程师标准>>> 简单介绍: 说明: 内置对象就是不依赖宿主环境在程序执行之前已经存在的对象,不必显式的实例化内置对象,前面已经介绍了大部分内置对象,而Global和Math两个单体内置对象比较特殊,所以单独讲. Global对象: 说明: Js中不属于…

Java中字符串连接符(+)和append的区别

参考链接:https://www.jianshu.com/p/849f1d443b3a 文章结构: 第一部分:对的原理进行分析 第二部分: 和 append 循环对比(贴出代码,以及分别循环后的反编译字节码,来对两者进行对比)…

百度seo排名点击器_SEO整站优化思路 - 百度seo排名点击

原出处:超级排名系统原文链接:SEO整站优化思路 - 超级排名系统整站优化的大体思路包括哪些?下面超级排名系统小编详细给大家讲解下:一、建站优化我们在建立网站之前与建立网站的时候需要做的优化,包括标题优化、描述关…

unity 天空盒_Unity自定义可编程渲染管线(SRP)(二)——编写第一个自定义SRP

一句话描述,我们可以把SRP分解成两个部分,分别是SRP Asset,SRP Instance。SRP AssetSRP Asset是一个Unity Asset文件,用来存储渲染管线的特定配置信息,包含的信息有:游戏物体是否应该投射阴影;使…

【design pattern】工厂方法模式和抽象工厂模式

前言 设计模式分为三大类: 创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式; 结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式; 行为型模式&#xff1…

弹簧触摸开关原理图_10年老电工经验之谈:常见的开关电源那些事儿

随着电控系统中对控制回路安全性要求提高,控制回路的工作电压是越来越趋于直流低压化。由此,控制回路内各种使用直流电源的传感器、中小微型直流继电器等电器装置是日益增多。也正因如此,电控系统内不同品牌的开关电源也相应地多了起来。因牵…

erlang mysql连接超时_Erlang数据库-(一)Erlang与Mysql的连接

下载:http://download.csdn.net/detail/hjhjava/7088277把该文件的东西全部编译好,然后根据下面的解释就可以操作Mysql的。很简单~-record(row,{a1 0, a20}).%% 第一个参数是该链接的名字(根据它来操作Mysql),第二参数是本机号(ip地址)%% &a…

管理活动目录域服务实训_管理学院学生党支部开展实践教育基地服务活动

红星E校有态度 有温度 可关注为进一步加强党的建设,深化管理学院学生党支部与实践基地的互动性,2020年9月11至12日,管理学院学生党支部协助白鹤村村委实践基地完成第七次人口普查相关工作,共计6名预备党员参与。工作开始前的培训会…

mysql 汉编码 的选_peewee连接mysql汉语言数据编码_mysql

peewee连接mysql中文数据编码系统是win7 x64python 2.7.6的site.py里面编码设定为 utf-8py文件首行指定 #coding:utf-8mysql 5.5.38安装时指定代码为utf-8peewee的连接数据库代码为:db MySQLDatabase(host 127.0.0.1, user root, passwd 1, database mz, chars…

配置windows失败,还原更新,请勿关机

最近给同事装系统,偶尔会出现如下问题: 如果是这种情况,只能耐心等待了,因为关机也没用! 转载于:https://www.cnblogs.com/lijy/p/5327844.html

使用uicollectionView时需要注意的问题

1.UICollectionView使用流水布局——UICollectionViewFlowLayout时,需要满足条件: 每个item(即cell)的大小是一样的,不仅是宽度,还有高度。这样,当collectionview的宽度发生变化时,item能将其动态填充。ite…

swift 从手机选照片_19元起!定制专属手机壳!还可免费打印照片...

△剧透:文末有福利现在的年轻人体内涌动的都是追求有趣有特色的灵魂希望自己是这条gai最独一无二的仔撞衫撞包撞手机壳可以说是当代年轻人三大时尚忌讳尤其是手机壳极为重要毕竟换壳≈换机只需要几十元买新壳就可以拥有换新机般的仪式感不过作为手机壳老手都知道在某…

新手也能学会本地调试微信,natapp 官网映射

本地调试微信的新手指引~ 照着配置,一定可以配置成功,实现本地调试微信,公司好几个同事按照我写的步骤,都独立配成功了。 1.首选在natapp注册一个账号,申请免费隧道或者购买隧道,我买了一个月9元的付费隧道…

c实现三角形角度大于一个值_初中数学三角形知识点小结

▊ 三角形两边定理:三角形两边的和大于第三边。推论:三角形两边的差小于第三边。▊ 三角形中位线定理三角形的中位线平行于第三边,并且等于它的一半。▊ 三角形的重心三角形的重心到顶点的距离是它到对边中点距离的2倍。在三角形中&#x…

【Spring】使用Spring和AMQP发送接收消息(下)

为什么80%的码农都做不了架构师?>>> 上篇讲了RabbitMQ连接工厂的作用是用来创建RabbitMQ的连接,本篇就来讲讲RabbitMQ的发送消息。通过RabbitMQ发送消息最简单的方式就是将connectionFactory Bean注入到服务层类中,并使用它创建C…