从Excel到SQL 数据分析进阶指南

作者: 王彦平(蓝鲸)
译者:
编辑: 赵轩

图书目录:

详情

Excel是数据分析中最常用的工具。本文通过SQL与Excel的功能对比,介绍如何使用Python通过函数式编程完成Excel中的数据处理及分析工作。

图书摘要

版权信息

书名:从Excel到SQL 数据分析进阶指南

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

王彦平 (蓝鲸),Google分析个人资格认证,专注于网站数据分析实践及Google Analytics应用研究。创建“蓝鲸的网站分析笔记”博客分享网站分析经验与技巧,被Avinash Kaushia先生推荐为探索Google Analytics必读的中文博客。同时王彦平还是艾瑞网专家,艾瑞商学院讲师,Digital Analytics Association会员和互联网著名开放式分类目录(Open Directory Project)DMOZ网站的志愿编辑。

王彦平推崇以用户体验为中心的网站数据分析实践,阐释了目标、用户、体验三位一体的网站分析体系。相信GIGO(Garbage In Garbage Out)原则是帮助分析师发现数据价值的关键要素,网站追踪代码设计则是确保业务与数据彼此相连,赋予数据灵魂的重要环节。

王彦平是《网站分析实战—如何以数据驱动决策,提升网站价值》《人人都是网站分析师—从分析师的视角理解网站和解读数据》两本书的作者,及《流量的秘密—Google Analytics网站分析与优化技巧》(第2版)的译者。其中面向初学者的《人人都是网站分析师》一书被Brian Clifton博士(Google Web Analytics欧洲负责人及 Google Analytics Individual Qualification 创建者)推荐为新人入门必备书籍。

本书的姊妹篇《从Excel到Python——数据分析进阶指南》已上市 。

王彦平拥有通讯、地产、汽车、零售等多个行业的网站数据分析及优化经验,服务的客户包括中国联通、链家地产、摩点众筹、克莱斯勒、一汽丰田、雷克萨斯、北京现代、海南航空、加多宝、玛萨玛索、中国日报、三精制药等。

电子邮件:cliff1980@gmail.com

新浪微博:@蓝鲸碎碎念

微信公众号:bluewhale_cc


Excel是数据分析中最常用的工具,本篇文章通过mysql与excel的功能对比介绍如何使用mysql完成excel中的数据生成,数据清洗,预处理,以及最常见的数据分类,数据筛选,分类汇总,以及数据透视等操作。这里我们使用SQLyog工具进行操作。

在开始之前先介绍几个先介绍几个需要了解的命令,包括显示数据库列表,选定数据库,显示数据库中的表以及创建视图。其中前三个命令可以浏览和定位要操作的数据库和数据表。第四个命令可以保持查询操作的结果。

#显示数据库
SHOW DATABASES;
#选定数据库
USE 数据库名称;
#显示数据表
SHOW TABLES FROM 数据库名称;
#创建视图
CREATE VIEW 数据库名称 AS (SELECT * FROM ...);


第一部分是生成数据表,常见的生成方法有两种,第一种是导入外部数据,第二种是直接写入数据。 Excel中的文件菜单中提供了获取外部数据的功能,支持数据库和文本文件和页面的多种数据源导入。Mysql中同样支持导入外部数据和直接写入数据。

SQLyog提供导入数据的向导,按照界面的提示信息可以快速完成数据的导入工作。

另一种方法是通过直接写入数据来生成数据表,excel中直接在单元格中输入数据就可以,mysql中通过下面的代码来实现。生成数据表包含两步操作,第一步创建字段,第二步输入数据。新生成的数据表一共有6行数据,每行有6个字段。在数据中我们特意设置了一些空值和有问题的字段,例如包含空格等。后面将在数据清洗步骤进行处理。

#创建数据表字段
CREATE TABLE data1(id INT(10), Record_date DATE, city VARCHAR(255),age VARCHAR(255), category VARCHAR(255), price FLOAT(10));

SELECT * FROM data1;

#插入数据
INSERT INTO 
data1(id, Record_date, city ,age, category, price)
VALUES 
(1001, 20130102, 'Beijing ',23, '100-A', 1200),
(1002, 20130203, 'SH', 44,'100-B', 'null'),
(1003, 20130305, 'guangzhou', 54,'110-A', 2133),
(1004, 20130403, 'Shenzhen', 32,'110-C', 5433),
(1005, 20130501, 'shanghai', 34,'210-A', ''),
(1006, 20130603, 'BEIJING', 32,'130-F', 4432);

SELECT * FROM data1;

#创建数据表data2
CREATE TABLE data2(id INT(10),gender VARCHAR(255),pay VARCHAR(255), mp VARCHAR(255));

SELECT * FROM data2;

#插入值
INSERT INTO 
data2(id, gender,pay, mp)
VALUES 
(1001, 'male', 'Y',10),
(1002, 'female', 'N', 12),
(1003, 'male', 'Y', 20),
(1004, 'female', 'Y', 40),
(1005, 'male', 'N', 40),
(1006, 'female', 'Y', 40),
(1007, 'male', 'N', 30),
(1008, 'female', 'Y', 20);

SELECT * FROM data2;

相关图书

SQL初学教程(第3版)
SQL初学教程(第3版)
SQL入门经典(第7版)
SQL入门经典(第7版)
SQL实践教程(第10版)
SQL实践教程(第10版)
SQL学习指南(第3版)
SQL学习指南(第3版)
SQL入门经典(第6版)
SQL入门经典(第6版)
SQL优化核心思想
SQL优化核心思想

相关文章

相关课程