粤教版普通高中教科书
信息技术 必修1
数据与计算
粤教版普通高中教科书
信息技术 必修1
数据与计算
数据处理和可视化表达
5.1 认识大数据
5.2 数据的采集
5.3 数据的分析
5.4 数据的可视化表达
第五章
“主题→规划→探究→实施→成果→评价”
开展项目学习活动的全过程。
项目范例
项目范例 网络购物平台客户行为数据分析和可视化表达
第五章 数据处理和可视化表达
主 题
网络购物中,消费者购物的任何行为细节都会被服
务器所记录。通过大数据分析,商家可以了解消费者的
偏好甚至预测其购买行为,如图5-1所示。大数据分析
使得商家可以追踪客户的行为并确定最有效的方式以提
升客户对购物平台的忠诚度,根据客户的个性化需求提
供相应的产品或服务以获得更大的市场占有率。
图5-1 客户网购行为分析
网络购物平台客户行为数据分析和可视化表达
第五章 数据处理和可视化表达 项目范例-网络购物平台客户行为数据分析和可视化表达
根据项目主题,在小组中组织讨论,利用思维导图工具,制订项目范例的学习规划,
如图5-2所示。
网络购物平台客户行为数据分析和可视化表达
网购行为数据采集 网购行为数据分析 网购行为数据可视化表达
规划
进度安排 工具与方法 预期成果
组建团队,明确任务
查阅资料,探究实施
形成作品,开展评价
思维导图,“头脑风暴”
Python
数据分析方法
可视化分析报告
图5-2 “网络购物平台客户行为数据分析和可视化表达”项目学习规划
规 划
第五章 数据处理和可视化表达 项目范例-网络购物平台客户行为数据分析和可视化表达
根据项目学习规划的安排,通过调查,案例分析、文献阅读和网上资料搜索,开展“网
络购物平台客户行为数据分析和可视化表达”项目探究活动,如课本表5-1所示。
探究活动 学习内容 知识技能
网购行为数据采集
大数据及其特征。
认识大数据及其特征。
了解数据采集的基本方法。
理解数据对日常生活的影响。
理解对数据进行保护的意义。
数据来源。
数据对日常生活的影响。
数据保护的意义。
网购行为数据分析
数据分析方法。 了解数据分析的基本方法。
选择数据分析处理工具。 学会选用恰当工具处理数据。
网购行为数据
可视化表达
可视化的方法和方式。 了解数据可视化表达的基本方法。
选择数据可视化表达处理工具。 学会选用恰当工具可视化表达数据。
表5-1 “网络购物平台客户行为数据分析和可视化表达”项目学习探究活动
探 究
第五章 数据处理和可视化表达 项目范例-网络购物平台客户行为数据分析和可视化表达
在小组开展项目范例学习过程中,利用思维
导图工具梳理小组成员在“头脑风暴”活动
中的观点,建立观点结构图,运用多媒体创
作工具(如演示文稿,在线编辑工具等),
综合加工与表达,形成项目范例可视化学习
成果,并通过各种分享平台发布,共享创造、
分享快乐。可视化报告可在资源包查看,其
目录截图如图5-3所示. 图5-3 “网络购物平台客户行为数据分析和可视化表达”
可视化报告
实施项目学习各项探究活动,进一步认识消费者网络购物行为特点。
第五章 数据处理和可视化表达 项目范例-网络购物平台客户行为数据分析和可视化表达
根据“项目活动评价
表”,对项目范例的
学习过程和学习成果
在小组或班级上进行
交流,开展项目学习
活动评价。
同学从真实世界选择自己感兴趣的主题开展项目学习活动
做中学、学中创、创中乐
第五章 数据处理和可视化表达 项目选题、规划设计、方案交流
网络购物平
台客户行为
数据分析和
可视化表达
进度
安排
工具与
方法
学习
过程
学习
成果
项目
评价
组建团队,明确任务
查阅资料,探究实施
形成作品,开展评价
思维导图,“头脑风暴”
Python
数据分析法
可视化分析报告
项目选题
项目规划
方案交流
项目探索与实施
图:学习框架
分组:以4-6人为一组 ,选择下面一个参考主题,或者自拟一个感兴趣的主题。
◆网络购物平台商品销售数据分析和可视化表达
◆网约车平台客户行为的数据分析和可视化表达
◆社交平台用户行为的数据分析和可视化表达
◆网络学习平台学生行为的数据分析和可视化表达
◆题目自拟…
第五章 数据处理和可视化表达 项目选题、规划设计、方案交流
各小组根据项目选题,参照项目范例的样式,利用思维导图工具,制订相应的项目方案,
如下图所示 。
网络购物平台客户行为数据分析和可视化表达
商品销售数据采集 商品销售数据分析 商品销售数据可视化表达
规划
进度安排 工具与方法 预期成果
组建团队,明确任务
查阅资料,探究实施
形成作品,开展评价
思维导图,“头脑风暴”
Python
数据分析方法
可视化分析报告
图5-5 “网络购物平台客户行为数据分析和可视化表达”项目学习规划
第五章 数据处理和可视化表达 项目选题、规划设计、方案交流
各小组将完成的方案在全班进行展示交流,师生共同探讨、完善相应的项目方案。
第五章 数据处理和可视化表达 项目选题、规划设计、方案交流
第五章 数据处理和可视化表达 项目选题、规划设计、方案交流
学习活动流程
探究活动
◼ 大数据的概念
◼ 大数据的特征
◼ 传统数据与大数据的区别
◼ 大数据对日常生活的影响
在日常工作、生活和学习等活动中,人们的一举一动基本上都可以数字化。例如,从家中出
门到达工作地点选择的交通工具、路线和所有时间;每刷一次微博、拨打一次电、发送一条
短信、网上银行转账或者浏览相关网站,甚至所在的地理位置信息等都产生了大量的数据。
那么,什么是大数据?它有什么特征?它对我们的日常生活有什么影响?以小组为单位,通
过查找资料、学习和交流,得出结论。
第五章 数据处理和可视化表达 5. 1认识大数据
讨论大数据的概念?以小组为单位,通过查找资料、学习和交流,填写下表。
大数据
的概念
大数据是指无法在可承受的时间范围内用常规软件工具进
行高效捕捉、管理和处理的信息集合,是需要新处理模式
才能具有更强的决策力、洞察发现力和流程优化能力的海
量、高增长率和多样化的信息资产。
交 流
第五章 数据处理和可视化表达 5. 1认识大数据
判 断 角 度
从互联网产生
的大数据角度
从互联网思维
的角度
从大数据存储
与计算的角度
具
体
特
征
1.体量大
2.数据类型繁多
3.价值密度低
4.变化数据快
1.样本渐趋于总体
2.精确让位于模糊
3.相关性重于因果
1.分布式存储
2.分布式并行计算
我们正处于一个大数据的时代,大数据使人们的生活、工作和思维方式等都产生了巨大的变革。
那么,大数据究竟具有哪些特征呢?以小组为单位,通过查找资料、学习和交流,填写下表。
问 题
第五章 数据处理和可视化表达 5. 1认识大数据
讨论传统数据与大数据的区别?以小组为单位,通过查找资料、学习和交流,填写下表。
传统数据 大数据
数据量小
数据类型少
价值密度高
更新速度慢
追求数据精确性
本地存储
数据体量巨大
数据类型繁多
价值密度低
更新速度快
追求数据模糊性性
分布式存储
第五章 数据处理和可视化表达 5. 1认识大数据
交 流
讨论大数据对日常生活的影响?以小组为单位,通过查找资料、学习和交流,填写下表。
正面影响 负面影响
1.方便支付
2.方便出行
3.方便看病与诊病
1.个人信息泄露
2.信息伤害与诈骗
第五章 数据处理和可视化表达 5. 1认识大数据
交 流
讨论如何避免大数据带来的负面影响?以小组为单位,通过查找资料、学习和交流,填写下表。
信息泄露方面 信息伤害与诈骗方面
1.避免使用不熟悉的网络上网
2.不使用信用卡刷卡消费
3.保管好手机等电子设备
……
1.要判断手机收到陌生信息的真伪
2.接到关于钱财方面的电话,要多方查证
……
第五章 数据处理和可视化表达 5. 1认识大数据
交 流
探究活动
◼ 数据的采集
◼ 数据的分析
◼ 数据的可视化表达
淘宝购物平台上各种商品应有尽有,假如你在该平台开了一个零食网店,最近你要调整经
营策略,以提高网店的盈利水平。在调整经营策略之前你必须进行前期调研分析,比如通
过分析淘宝网上各类零食的销量数据,去重新定位销售商品的种类和价格;通过分析网店
销售数据订单,去了解客户的购物喜好,去判断哪些商品可以捆绑销售。从而下架一些销
量不好商品和上架一些新的商品。那么,你要完成前期调研工作,需要获取到哪些数据呢?
怎样获取到这些数据呢?从获取数据中怎样提炼出有价值的信息呢?以小组为单位,通过
学习、交流,探索和实践,得出可视化结论。
第五章 数据处理和可视化表达 5. 2数据的采集
探究活动
根据《网络购物平台客户行为数据分析和可视化表达》项目主题,确定项目的数据需求,
列出数据采集清单和内容大纲,采集数据使用的方法和工具,以小组为单位,通过学习和
交流,填写下表。
编号 项目数据内容大纲 数据来源 采集方法和工具 数据保存
方式
1
2
3
商品销售数据:包括商品名称、
店铺名称、商品价格、商品销量
淘宝网-实惠热
卖-零食类别
方法:网络数据采集法
工具:爬虫程序
data_sample.csv 商品销售数据:包括商品价格、
商品销量、商品评论
店铺销售订单数据:包括每个
订单购买的商品名称
淘宝网-实惠热
卖-零食类别
方法:网络数据采集法
工具:爬虫程序
淘宝网店铺后台 方法:网络数据采集法
工具:系统导出、手工记录等
taobao.xls
sale_orders.xls
第五章 数据处理和可视化表达 5. 2数据的采集
交 流
1. 观看微课视频“第三方库模块安装与使用”;
2. 体验安装Numpy,Scipy,Pandas,Matplotib四个Python第三方库。
运行“程序5-3-1 绘制正弦函数(教材范例).py”,观察程序运行结果,以小组为单位,通
过学习和交流,填写下表。
语句 语句作用
Import numpy as np
import matplotlib.pyplot as plt
from pylab import *
引入numpy库模块,用np替代
引入matplotlib库模块中的pyplot方法,用plt替代
引入pylab库模块中的所有方法
第五章 数据处理和可视化表达 5. 2数据的采集
体 验
交 流
1. 观看微课视频“xampp搭建本地服务器”、”爬虫程序采集网络数据”;
2. 体验安装、运行xampp并搭建、启动本地网页服务;
3. 运行“程序5-3-2 爬取本地网页数据(教材范例).py”,数据文件内容如下图所示,体验
使用爬虫程序采集本地网页数据。
第五章 数据处理和可视化表达 5. 2数据的采集
体 验
程序5-3-2 爬取本地网页数据结果
运行爬虫程序采集本地网页数据需要获取的关键信息有哪些?具体内容是什么?怎么获取到
这些信息?以小组为单位,通过学习和交流,填写下表。
关键信息 具体内容 获取方法
网页数据网址
商品每项数据的
标签和属性类名
http://127.0.0.1/wholesale.html
商品名称标签:a 该标签属性类名:item-title
商品价格标签:span 该标签属性类名:price-current
订单量标签:a 该标签属性类名:sale-value-link
店铺名称标签:a 该标签属性类名:store-name
chrome浏览
器的检查工具
第五章 数据处理和可视化表达 5. 2数据的采集
交 流
实 践
用chrome浏览器打开淘宝网-实惠热卖-零食类别,需要爬取的数据内容包括每种商品的商品
名称、店铺名称、商品价格和商品销量。
第五章 数据处理和可视化表达 5. 2数据的采集
实 践
通过修改“程序5-3-2 爬取本地网页数据(教材范例).py”代码,爬取淘宝网-实惠热卖-零食
类别中前5页商品的销售数据,数据内容包括每种商品的商品名称、店铺名称、商品价格和商品
销量,以小组为单位,通过学习、交流,探究和实践,填写下表。
采集商品销售数据程序关键代码 数据文件和内容(截图)
#商品网址
url =
‘https://re.taobao.com/search?keyword=%E8%BF%9B%E5%8F%A3%E9%9B%B6%E9%A3%9F&catid=5001
0550&refpid=619362_1007&_input_charset=utf8&clk1=b93e1915c335dd925dfcbf24ae696b12&spm=a21b
o.2017.201874-p4p.7.5af911d9f5vIK4’
# 商品价格,由于标签strong没有类名, soup.find_all参数用上一级标签及其类名
all_price = soup.find_all('span', class_="pricedetail")
for l in all_price:
soup_price = bs4.BeautifulSoup(str(l), "html.parser")
price.append(soup_price.strong.string)
#生成每一行数据
for n in range(len(title)):
data_sheet.write(n, 0, n+1)
data_sheet.write(n, 1, title[n]) # n 表示行, 1 表示列
data_sheet.write(n, 2, store[n])
data_sheet.write(n, 3, price[n])
data_sheet.write(n, 4, paynum[n][:-3]) #删除销量的最后三个字符
#保存文件
wookbook.save("taobao.xls")
第五章 数据处理和可视化表达 5. 2数据的采集
观看微课视频“采集上网行为管理系统数据”,以小组为单位,通过查找资料、学习和交流,
填写下表。
采集方法 数据来源 采集工具 应用范围(举例)
系统日志采集法 1.信息系统日志数据
2.信息系统系统数据 系统导出 1.导出上网行为管理系统日志
2.导出上网行为管理系统客户数据
网络数据采集法
1.网站存储的数据
2.网站公开API(应用
程序接口)传输的数据
1.爬虫程序
2.系统导出
3.接口程序
1.爬取淘宝网站数据
2.从淘宝网店铺后台导出数据
3.获取微信企业号公开接口数据
其它数据采集法 传感器 系统接口 传感器采集数据传输到数据库管理系统
第五章 数据处理和可视化表达 5. 2数据的采集
交 流
我们采集到的数据,你会保存在哪里?你会怎样保护这些数据?以小组为单位,通过查找资料、
学习和交流,填写下表。
知识类别 知识内容 具体做法
数据的存储
本地内部存储 本地电脑
数据的保护
数据安全保护技术 数据加密、数据备份、数据镜像、增加防火墙
数据保护的意义
第三方存储
数据的隐私保护
第三方存储服务器、云存储
技术手段、提高自身保护意识、
对数据使用者进行道德和法律上的约束
有利于维护生命财产安全、维护网络环境稳定、减少网络犯罪事件的发生;
采集数据时,要尊重知识产权,遵守法律和伦理道德
第五章 数据处理和可视化表达 5. 2数据的采集
交 流
探究活动
我们已经从淘宝网采集到了商品销售数据,通过分析这些数据,可以去发现数据的价值与意义。
以小组为单位,通过查找资料、学习和交流,填写下表。
知识类别 知识内容
数据分析的作用
1.探索数据内在的结构和规律,构建教学模型,并进行
可视化表达
2.通过验证将模型转化为知识,为预测诊断过去、预测
未来发挥作用
数据分析的常用方法
1.特征探索
2.关联分析
3.聚类分析
4.数据分类
第五章 数据处理和可视化表达 5. 3数据的分析
交 流
1. 观看微课视频“创建MySQL数据库”、“数据特征探索程序介绍” ;
2. 体验运行xampp,启动本地web服务和数据库服务;
3. 体验创建数据库csdn和数据表taob,并导入文件taob.sql中的数据;
4. 体验创建数据库taobao和数据表taobao,并导入文件taobao.xls中的数据;
5. 运行“程序5-5-1 数据预处理(教材范例).py”,结果如下图所示,体验数据预处理过程。
程序5-5-1 数据预处理过程
第五章 数据处理和可视化表达 5. 3数据的分析
体 验
实 践
通过修改“程序5-5-1 数据预处理(教材范例).py”代码,对采集到的商品销售数据进行预
处理,包括发现和处理缺失值、处理异常数据、求最大值、最小值、极差、组距、绘制直方
图,观察数据的分布特征,以小组为单位,通过学习、交流,探究和实践,填写下表。
数据预处理程序关键代码 可视化图形(截图)
#导入数据
conn=pymysql.connect(host=“127.0.0.1”,user=“root”,passwd=“”,db=“taobao”)
sql=“select * from taobao”
data=pda.read_sql(sql,conn)
#数据清洗,发现和处理缺失值,如果销量为0的,修改为200
x=0
data["paynum"][(data["paynum"]==0)]=None
for i in data.columns:
for j in range(len(data)):
if(data[i].isnull())[j]: #如果为空即插值
data[i][j]="200" # 空值插入200
x+=1
print(x)
第五章 数据处理和可视化表达 5. 3数据的分析
#异常值处理、画散点图(横轴:价格,纵轴:评论数)找到异常值
data2=data.T
price=data2.values[2]
comt=data2.values[3]
plt.xlabel('price') #显示
X坐标标签
plt.ylabel('paynum') #显示
Y坐标标签
pyl.plot(price,comt,"o")
pyl.show() #求最值
pricemax=da2[2].max()
pricemin=da2[2].min()
paynummax=da2[3].max()
paynummin=da2[3].min() #极差
pricerg=pricemax
-pricemin
paynumrg=paynummax
-paynummin
#组距
pricedst=pricerg/13
paynumdst=paynumrg/13
第五章 数据处理和可视化表达 5. 3数据的分析
分析结果
#绘制价格直方图
#npy.arrange(最小,最大,组距)
pricesty=npy.arange(pricemin,pricemax+1,pricedst)
plt.xlabel('price') #显示X坐标标签
plt.ylabel('number') #显示Y坐标标签
pyl.hist(da2[2],pricesty)
pyl.show()
#绘制销量数直方图
paynumsty=npy.arange(paynummin,paynummax+1,paynumdst)
plt.xlabel('paynum') #显示X坐标标签
plt.ylabel('number') #显示Y坐标标签
pyl.hist(da2[3],paynumsty)
pyl.show()
价格在10-30块之间的商品种类最多,此价位的商品竞争最激烈;销量在10以下
的商品种类最多,大部分商品销量一般。
第五章 数据处理和可视化表达 5. 3数据的分析
1. 观看微课视频“聚类分析程序介绍” ;
2. 运行“程序5-6-1 聚类分析(教材范例).py”,结果如下图所示,体验聚类分析。
程序5-6-1 聚类分析结果
第五章 数据处理和可视化表达 5. 3数据的分析
体 验
实 践
1.运行 “程序5-6-2 爬取购物平台商品销售数据(价格、销量、评价).py ” ,爬取淘宝网实惠热卖-零食类别中第一页商品的数据,数据内容包括每种商品的价格、销量和评论,数据
保存在程序同一目录,文件名为data_sample.csv;了解爬虫程序将爬取数据结果保存为
*.csv格式文件的代码结构。
第五章 数据处理和可视化表达 5. 3数据的分析
文件data_sample.csv中的数据截图
实 践
2.通过修改“程序5-6-1 聚类分析(教材范例).py”代码,对采集到的商品销售数据
“data_sample.csv”进行聚类分析,观察数据分析结果,以小组为单位,通过学习、交流,
探究和实践,填写下表。
聚类分析程序关键代码 可视化图形(截图)
分析结果
from sklearn.cluster import KMeans
#导入商品样本数据
fname="data_sample.csv"
dataf=pda.read_csv(fname,encoding="gbk")
x=dataf.as_matrix()
#聚类分析
kms=KMeans(n_clusters=3)
y=kms.fit_predict(x)
print(y)
程序按照提供的数据样本,自动将商品分成了三类。
第五章 数据处理和可视化表达 5. 3数据的分析
探究活动
如下表所示是某网络商城客户购物行为特征的一组统计资料。已知某客户购物行为特征A的数
值为182.8,特征B为数值58.9,特征C为数值26,请问这是是重要客户还是普通客户?
问 题
客户 特征A 特征B 特征C
重要客户 182.8 81.6 30
重要客户 180.4 86.1 29
重要客户 170.0 77.1 30
重要客户 180.4 74.8 28
普通客户 152.4 45.3 24
普通客户 167.6 68.0 26
普通客户 165.2 58.9 25
普通客户 175.2 68.0 27
第五章 数据处理和可视化表达 5. 3数据的分析
1. 观看微课视频“数据分类程序介绍” ;
2. 运行“程序5-7-1 数据分类(教材范例).py”,结果如下图所示,体验数据分类。
程序运行结果为0,表示这人是普通客户
程序5-7-1 数据分析结果
第五章 数据处理和可视化表达 5. 3数据的分析
体 验
实 践
从聚类分析中采集的商品销售数据( data_sample.csv)中抽取部分数据作为样本,构建重
要商品和一般商品的分类模型( model.csv ) ;通过修改或优化“程序5-7-1 数据分类(教
材范例).py”代码,对特征值A为128.8,特征值B为158,特征值C为4.7的商品进行分类,观察
该商品分类结果,以小组为单位,通过学习、交流,探究和实践,填写下表。
数据分类程序关键代码(修改范例程序、优化范例程序) 商品分类结果(截图)
分析结果 特征值分别为128.8,158,4.9的商品为重要商品,受客户欢迎,评价高,需要重点关注。
from sklearn.naive_bayes import GaussianNB
#构建分类模型
fname=“model.csv”
dataf=pda.read_csv(fname,encoding=“gbk”)
data=dataf.as_matrix()
X=[]
Y=[]
for values in data:
X.append(values[1:4]) #获取第2-4列的特征值
Y.append(values[0]) #获取第1列的分类值
clf = GaussianNB().fit(X, Y)
#对未分类数据分类
print(clf.predict([[128.8,158,4.7]]))
import numpy as np
from sklearn.naive_bayes import GaussianNB
X = np.array([[105.9,230,4.9],[65.1,710,4.8],
[15,276,4.8],[238,79,4.8],
[29.9,735,4.7],[12.8,222,4.3],
[18,62,4.6],[89,247,4.5],
[162,585,4.5],[29,278,4.2]])
Y = np.array(['重要商品','重要商品','重要商品’,
'重要商品','重要商品','一般商品’,
'一般商品','一般商品’,
'一般商品','一般商品'])
clf = GaussianNB().fit(X, Y)
print(clf.predict([[128.8,158,4.7]]))
第五章 数据处理和可视化表达 5. 3数据的分析
探究活动
假设购买商品A的有100人,购买商品B的有80人,购买商品C的有50人,同时购买商品A和商品
B的有70人,同时购买商品A和商品C的有5人,那么购买商品A的人往往就会购买商品B,由此可
以找出这些数据相互之间的关系。下表所示是某网络商城销售订单统计资料,那么这些商品之间
有什么关联性?
问 题
订单 商品1 商品2 商品3 商品4
订单1 a c e
订单2 b d
订单3 b c
订单4 a b c d
订单5 a b
订单6 b c
订单7 a b
订单8 a b c e
订单9 a b c
订单10 a c e
第五章 数据处理和可视化表达 5. 3数据的分析
1. 观看微课视频“关联分析程序介绍” ;
2. 运行“程序5-8-1 关联分析(教材范例).py”,结果如下图所示,体验关联分析。
程序5-8-1 关联分析结果
第五章 数据处理和可视化表达 5. 3数据的分析
体 验
实 践
1.采用系统导出数据、手工记录数据等方法从淘宝店铺后台采集一份店铺销售订单数据
(sale_orders.xls,每个订单需包括卖出商品的名称)。
第五章 数据处理和可视化表达 5. 3数据的分析
文件sale_orders.xls中的数据截图
实 践
2.通过修改“程序5-8-1 关联分析(教材范例).py”代码,对采集到的店铺销售订单数据
( sale_orders.xls )进行关联分析,寻找商品之间的关联性,观察关联分析结果,以小组为
单位,通过学习、交流,探究和实践,填写下表。
关联分析程序关键代码 关联分析结果(截图)
分析结果 商品b和a,商品d和a,商品c和a的支持度和置信度非常高,客户经常一起购买,可以
对它们进行捆绑销售。
data = pd.read_excel('sale_orders.xls',header = None)
print(u'\
转换原始数据至0-1矩阵...')
ct = lambda x : pd.Series(1, index = x[pd.notnull(x)]) #转换0-1矩阵的过渡函数
b = map(ct, data.as_matrix()) #用map方式执行
data = pd.DataFrame(list(b)).fillna(0) #实现矩阵转换,空值用0填充
print(u'\
转换完毕。')
del b #删除中间变量b,节省内存
support = 0.4 #最小支持度
confidence = 0.5 #最小置信度
ms = '---' #连接符,默认'--',用来区分不同元素,如A--B。需要保证原始表格中不含有该字符
find_rule(data, support, confidence, ms).to_excel('关联分析结果.xls') #保存结果
第五章 数据处理和可视化表达 5. 3数据的分析
体 验
1. 观看微课视频“词云图程序介绍” ;
2. 运行“程序5-9-1 词云图(教材范例).py”,体验词云图可视化呈现分析结果。
程序5-9-1 词云图
第五章 数据处理和可视化表达 5. 4数据的可视化表达
实 践
通过修改“程序5-9-1 词云图(教材范例).py”代码,从淘宝网-实惠热卖-零食类别中爬取
前十页的商品名称数据,以词云图的方式可视化呈现分析结果,以小组为单位,通过学习、
交流,探究和实践,填写下表。
商品名称词云图程序关键代码 词云图可视化呈现结果(截图)
分析结果 商品名称中出现爱幼、水果、宝宝、婴幼儿、零食、频次较高。
# 网址
url =
‘https://re.taobao.com/search?keyword=%E8%BF%9B%E5%8F%A3%E9%9B%B6%E9%A3%9F&catid=50010550&refpid=61936
2_1007&_input_charset=utf8&clk1=b93e1915c335dd925dfcbf24ae696b12&spm=a21bo.2017.201874-p4p.7.5af911d9f5vIK4’
# 爬取商品标题
# 标题
all_title = soup.find_all(‘span’, class_=“title”)
for j in all_title:
soup_title = bs4.BeautifulSoup(str(j), “html.parser”,)
title.append(soup_title.span.string)
#循环取出商品标题,分词后放入到new_text列表中
for i in title:
words = jieba.lcut(i)
new_text=' '.join(words)
第五章 数据处理和可视化表达 5. 4数据的可视化表达
1. 运行“程序5-10-1 直方图(教材范例).py”,体验可视化工具Seaborn呈现直方图 ;
2. 运行“程序5-10-2 Bokeh示例(教材范例).py”,体验可视化工具Bokeh呈现正弦图。
程序5-10-1 直方图 程序5-10-2 Bokeh示例
第五章 数据处理和可视化表达 5. 4数据的可视化表达
体 验
实 践
在python中,可视化数据分析类型及对应的可视化呈现方式有哪些?数据可视化表达的工具
有哪些?总结项目活动中采用过的数据可视化表达的方式和工具,以小组为单位,通过学习、
交流,探究和实践,填写下表。
数据分析
类型
可视化呈
现类型
可视化
工具 示例关键代码 呈现效果
逻辑关
系
正弦图 pyplot
import numpy as np #引入numpy库模块,用np替代
import matplotlib.pyplot as plt #引入matplotlib库模块中的pyplot方法,用plt替代
from pylab import * #引入pylab库模块中的所有方法
x = np.arange(-5.0, 5.0, 0.5) #定义x轴数值为-5到5,步长为0.02
y = np.sin(x) #利用正弦函数计算出x轴数值对应的y轴数值
plt.plot(x, y) #利用x,y轴对应的数值绘制出图形
plt.show() #显示出绘制的图形
逻辑关
系
散点图 pyplot
#异常值处理、找到异常值、画散点图(横轴:价格,纵轴:评论数)
data2=data.T
price=data2.values[2]
comt=data2.values[3]
plt.xlabel('price') #显示X坐标标签
plt.ylabel('comt') #显示Y坐标标签
pyl.plot(price,comt,"o")
pyl.show()
第五章 数据处理和可视化表达 5. 4数据的可视化表达
数据分析
类型
可视化呈
现类型
可视化
工具 示例关键代码 呈现效果
逻辑关
系
直方图 Pyplot
逻辑关
系
聚类图 Pyplot
#绘制价格直方图
#npy.arrange(最小,最大,组距)
pricesty=npy.arange(pricemin,pricemax,pricedst)
plt.xlabel('price') #显示X坐标标签
plt.ylabel('number') #显示Y坐标标签
pyl.hist(da2[2],pricesty)
pyl.show()
#年龄-消费金额图,消费时间-消费金额图,年龄-消费时间图
for i in range(0,len(y)):
if(y[i]==0):
print(str(i)+"0")
pyl.subplot(2,3,1)
#年龄-消费金额图
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(),dataf.iloc[i:i+1,1:2].as_matrix(),"*r")
pyl.subplot(2,3,2)
#消费时间-消费金额图
pyl.plot(dataf.iloc[i:i+1,2:3].as_matrix(),dataf.iloc[i:i+1,1:2].as_matrix(),"*r")
pyl.subplot(2,3,3)
#年龄-消费时间图
pyl.plot(dataf.iloc[i:i+1,0:1].as_matrix(),dataf.iloc[i:i+1,2:3].as_matrix(),"*r")
第五章 数据处理和可视化表达 5. 4数据的可视化表达
数据分析
类型
可视化呈
现类型
可视化
工具 示例关键代码 呈现效果
逻辑关
系
直方图 Seaborn
逻辑关
系
正弦图 Bokeh
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
sns.set( palette="muted", color_codes=True)
rs = np.random.RandomState(10)
d = rs.normal(size=100)
f, axes = plt.subplots(2, 2, figsize=(7, 7), sharex=True)
sns.distplot(d, kde=False, color="b", ax=axes[0, 0])
sns.distplot(d, hist=False, rug=True, color="r", ax=axes[0, 1])
sns.distplot(d, hist=False, color="g", kde_kws={"shade": True}, ax=axes[1, 0])
sns.distplot(d, color="m", ax=axes[1, 1])
plt.show()
import numpy as np
from bokeh.layouts import gridplot
from bokeh.plotting import figure, output_file, show
N = 100
x = np.linspace(0, 4*np.pi, N)
y0 = np.sin(x)
output_file('sinewave.html')
sine = figure(width=500, plot_height=500, title='Sine')
sine.circle(x, y0, size=10, color="navy", alpha=0.5)
p = gridplot([[sine]], toolbar_location=None)
show(p)
第五章 数据处理和可视化表达 5. 4数据的可视化表达