python(数据分析与可视化)六
python(数据分析与可视化)六
爬虫与数据库连接
1.估算评论情感分数
把评论数据从数据库拿出,走停止词过滤,统计出现的积极词汇和消极词汇的个数。
假定 用户满意分数:(积极词汇个数1 - 消极词汇个数5)/评论条数
comment_words = [
'品质', '、', '做工', '都', '非常', '好', ',', '发货', '贼', '快', ',', '快递', '也', '给', '力', ',', '棒棒', '哒', '~', '?', '?', '?', '不得不', '赞', ',', '质量', '真的', '好', ',', '包装', '物流', '也', '不错', '。', '真心', '喜欢', ',', '入手', '后', '不会', '让', '你', '后悔', '的', '!', '东西', '已经', '收到', '!', '手感', '不错', '!', '用料', '扎实', '!', '质量', '很', '好', '!', '平常', '用', '基本', '没有', '问题', '!', '宝贝', '心仪', '很久', '了', ',', '趁', '活动', '时候', '买', '真的', '太', '划算', '了', ',', '喜欢', '的', '不要', '犹豫', '啊', '跟', '我', '在', '实体店', '买', '的', '一模一样', '!', '还是', '一样', '的', '好', '用', ',', '开心', '总体', '来说', ',', '确实', '很', '不错', ',', '客服', '的', '服务态度', '也', '很棒', ',', '说话', '几乎', '马上', '就', '会', '回', '消息', ',', '物超所值', ',', '真心', '推荐', '宝贝', '特别', '喜欢', ',', '颜值', '高质量', '好', ',', '中看', '又', '中用', ',', '有', '需要', '的', '朋友', '不要', '犹豫', '了', '外形', '外观', ':', '改变', '最大', '的', '一款', ',', '平民', '版', '终于', '给', 'led', '屏幕', '了', '。', '\n', '屏幕', '音效', ':', '还好', ',', '一罐', '的', '苹果', '特色', '。', '\n', '拍照', '效果', ':', '对比', '之前', '用', '的', '8', ',', '提升', '较大', '。', '特别', '夜景', '上', ',', '很', '不错', '。', '\n', '运行', '速度', ':', '流畅', '无卡顿', ',', '给', '老婆', '买', '的', ',', '目前', '没', '听到', '发牢骚', '。', '\n', '待机时间', ':', '待机', '挺', '好', '的', ',', '14', '这个', '烂', '兮兮', '的', '系统', ',', '续航', '都', '好', '过', '11', '。', '\n', '其他', '特色', ':', '没送', '充电器', ',', '但是', '送', '了', '一条', 'pd', '线', ',', '自己', '这', '也', '备', '着', 'pd', '头', ',', '总体', '不错', '。', '之前', '用', '的', '是', 'x', '用', '了', '三年', '正好', '最近', '屏幕', '漏液', '给', '我', '提供', '了', '充分', '的', '理由', '换', '这款', '新', '的', '12', ',', '身边', '好多', '盆友', '都', '先换', '了', ',', '问', '了', '他们', '使用', '体验', '后', '也', '果断', '下手', ',', '用', '起来', '很', '舒服', ',', '很', '喜欢', '这种', '4', '-', '5s', '的', '手感', '质感', ',', '希望', '继续', '保持', '这样', '~', '用', '着', '还', '不错', ',', '苹果', '手机', '系统', '好用', ',', '运行', '速度', '很快', ',', '音质', '很', '好', ',', '拍照', '清晰', ',', '待机时间', '长', ',', '用', '了', '一段时间', '觉得', '还', '可以', ',', '相信', '京东', ',', '品质', '有', '保证', ',', '很', '满意', '。']
#print('comment_words',comment_words[:20])with open('./dict1/emotion_dict/neg_all_dict.txt',mode='r',encoding='utf-8') as f:negative_words = f.read().splitlines()print('negative_words',negative_words[:20])negative_words_num = 0
for comment_word in comment_words:if comment_word in negative_words:negative_words_num += 1with open('./dict1/emotion_dict/pos_all_dict.txt',mode='r',encoding='utf-8') as f:postive_words = f.read().splitlines()print('postive_words',postive_words[:20])postive_words_num = 0
for comment_word in comment_words:if comment_word in postive_words:postive_words_num += 1#统计程度词汇个数
degree_num = 1
from L06数据可视化.dict1.degree_dict.degree_dict import DEGREE_ALL
degree_words_num = 0
for comment_word in comment_words:if comment_word in DEGREE_ALL:degree_words_num += 1
# 算出 商品(评论情感化分析)满意度评估分
score = (postive_words_num*1 - negative_words_num*3)/5
score = score*(degree_num)
print(score)
if 0 < score <600:print('用户对商品满意度低')
elif 600 < score < 1000:print('用户对商品满意度中')
elif score > 1000:print('用户对商品满意度高')
2.词云图
词云图:词汇构成的图片,词汇出现频率高的大一些
绘图:最底层(计算机图形学,绘制直线算法) -> (偏底层图形驱动)opengl/derectX -> (应用层绘图库)c语言PIL
-> (PIL库移植)pillow ->(词云图更垂直、高级封装)word_cloud库
常用pillow,本节使用word_cloud库
- https://github.com/amueller/word_cloud
- pip install wordcloud
安装可能报错,由于wordcloud库依赖pillow绘图库
from wordcloud import WordCloudcomment_words = ['品质', '、', '做工', '都', '非常', '好', ',', '发货', '贼', '快', ',', '快递', '也', '给', '力', ',', '棒棒', '哒', '~', '?', '?', '?', '不得不', '赞', ',', '质量', '真的', '好', ',', '包装', '物流', '也', '不错', '。', '真心', '喜欢', ',', '入手', '后', '不会', '让', '你', '后悔', '的', '!', '东西', '已经', '收到', '!', '手感', '不错', '!', '用料', '扎实', '!', '质量', '很', '好', '!', '平常', '用', '基本', '没有', '问题', '!', '宝贝', '心仪', '很久', '了', ',', '趁', '活动', '时候', '买', '真的', '太', '划算', '了', ',', '喜欢', '的', '不要', '犹豫', '啊', '跟', '我', '在', '实体店', '买', '的', '一模一样', '!', '还是', '一样', '的', '好', '用', ',', '开心', '总体', '来说', ',', '确实', '很', '不错', ',', '客服', '的', '服务态度', '也', '很棒', ',', '说话', '几乎', '马上', '就', '会', '回', '消息', ',', '物超所值', ',', '真心', '推荐', '宝贝', '特别', '喜欢', ',', '颜值', '高质量', '好', ',', '中看', '又', '中用', ',', '有', '需要', '的', '朋友', '不要', '犹豫', '了', '外形', '外观', ':', '改变', '最大', '的', '一款', ',', '平民', '版', '终于', '给', 'led', '屏幕', '了', '。', '\n', '屏幕', '音效', ':', '还好', ',', '一罐', '的', '苹果', '特色', '。', '\n', '拍照', '效果', ':', '对比', '之前', '用', '的', '8', ',', '提升', '较大', '。', '特别', '夜景', '上', ',', '很', '不错', '。', '\n', '运行', '速度', ':', '流畅', '无卡顿', ',', '给', '老婆', '买', '的', ',', '目前', '没', '听到', '发牢骚', '。', '\n', '待机时间', ':', '待机', '挺', '好', '的', ',', '14', '这个', '烂', '兮兮', '的', '系统', ',', '续航', '都', '好', '过', '11', '。', '\n', '其他', '特色', ':', '没送', '充电器', ',', '但是', '送', '了', '一条', 'pd', '线', ',', '自己', '这', '也', '备', '着', 'pd', '头', ',', '总体', '不错', '。', '之前', '用', '的', '是', 'x', '用', '了', '三年', '正好', '最近', '屏幕', '漏液', '给', '我', '提供', '了', '充分', '的', '理由', '换', '这款', '新', '的', '12', ',', '身边', '好多', '盆友', '都', '先换', '了', ',', '问', '了', '他们', '使用', '体验', '后', '也', '果断', '下手', ',', '用', '起来', '很', '舒服', ',', '很', '喜欢', '这种', '4', '-', '5s', '的', '手感', '质感', ',', '希望', '继续', '保持', '这样', '~', '用', '着', '还', '不错', ',', '苹果', '手机', '系统', '好用', ',', '运行', '速度', '很快', ',', '音质', '很', '好', ',', '拍照', '清晰', ',', '待机时间', '长', ',', '用', '了', '一段时间', '觉得', '还', '可以', ',', '相信', '京东', ',', '品质', '有', '保证', ',', '很', '满意', '。'
]
comment_words_str = ' '.join(comment_words) #"""品质 做工 都"""
print(comment_words_str)wc = WordCloud(font_path='./simhei.ttf', #中文字体文件background_color='white',width=1000,height=800,min_font_size=50,).generate(comment_words_str)
wc.to_file('./2评论词云图.png')
下面是我的一个词云图截图:
3.绘制图表
图表
常见图表类型:条形图、饼状图、折线图、热力图,数据直观的展现出来
#常用包:
#1.pillow库(偏底层) 2.matplatlib(偏自动化) 3.(全自动化)chart.js
https://github.com/Kozea/pygal
pygal库虽然收藏数不是特别多,但也不少,且代码和文档简单
import pygalbar_chart = pygal.Bar()
bar_chart.title = '测试pygal绘制图表'
bar_chart.x_labels = ['2015','2016','2019','2018','2019','2020']
bar_chart.add('人口(单位亿)',[10,10.5,11,11.5,12,12.5,13])
bar_chart.render_to_file('./3testpygal.svg')
4.绘制图表的实例
下面是一个简单绘制图表实例:
import sqlite3
import pygalconnect = sqlite3.connect('../L05数据持久化和清洗/jd.db')
cursor = connect.cursor()
cursor.execute("""select count(id) from comm""")
comment_amount = cursor.fetchall()
user_amount = comment_amount[0][0]
print('用户总数',user_amount)
cursor.execute("""select count(id),product_color from comm group by product_color""")
rs = cursor.fetchall() #[(377, '白色'), (116, '红色'), (265, '绿色'), (288, '蓝色'), (304, '黑色')]print(rs)colors = {}
for r in rs:num = r[0]color = r[1]colors[color] = round(num/user_amount *100,2)
print('colors',colors)pie_chart = pygal.Pie()
pie_chart.title = 'iphone12用户喜欢的颜色'
pie_chart.add('白色',colors['白色'])
pie_chart.add('红色',colors['红色'])
pie_chart.add('绿色',colors['绿色'])
pie_chart.add('蓝色',colors['蓝色'])
pie_chart.add('黑色',colors['黑色'])
pie_chart.render_to_file('./4手机颜色比例图.svg')
今天的分享就到这里,如果还想了解更多,可以看我主页!
python(数据分析与可视化)六相关推荐
- 数据载入、存储及文件格式——《利用python数据分析》第六章学习
数据载入.存储及文件格式--<利用python数据分析>第六章学习 前言 这次带来第六章的学习笔记,希望这次效率高点,快点写完. 代码环境这次小升级,Pycharm 2021.3 + An ...
- [转载] Python数据分析与可视化学习笔记(一)数据分析与可视化概述
参考链接: Python | 数据分析的数学运算 数据分析与可视化(一) 1.1 数据分析1.1.1 数据.信息与数据分析1.1.2数据分析与数据挖掘的区别1.1.3数据分析的流程 1.2 数据可视化 ...
- 【Python数据分析与可视化】Pandas统计分析-实训
[Python数据分析与可视化]Pandas统计分析-实训 文章目录 [Python数据分析与可视化]Pandas统计分析-实训 导包 读取数据 分析数据 1.查看数据的描述和统计信息: 2.修改列名 ...
- python数据分析与可视化【一】python基础实例
用python做数据分析与可视化(一) python编程基础 这一块前面我写过博客,奉上链接:python基础 这篇就来看看几个小实例 后面有python很基础的知识点和例子 后面数据分析能用上 下一 ...
- 【Python数据分析与可视化】期末复习笔记整理(不挂科)
[Python数据分析与可视化]期末复习笔记 1. 数据分析与可视化概述 对比 概念 常用工具 Python常用类库 Jupyter notebook中的常用快捷方式 2. Python编程基础 co ...
- python数据分析可视化实例-Python数据分析与可视化从入门到精通
(1)没有高深理论,每章都以实例为主,读者参考书中源码运行,就能得到与书中一样的结果.(2)专注于Python数据分析与可视化操作中实际用到的技术.相比大而全的书籍资料,本书能让读者尽快上手,开始项目 ...
- python可视化数据分析-Python数据分析与可视化从入门到精通
(1)没有高深理论,每章都以实例为主,读者参考书中源码运行,就能得到与书中一样的结果.(2)专注于Python数据分析与可视化操作中实际用到的技术.相比大而全的书籍资料,本书能让读者尽快上手,开始项目 ...
- Python数据分析-数据可视化(二)
欢迎大家访问个人博客:https://jmxgodlz.xyz 文章目录 前言 Matplotlib 折线图格式调整 标签 线条颜色 线条形状 折点样式 线条透明度 前言 看到有些论文插图十分简洁美观 ...
- Python数据分析与可视化学习笔记(一)数据分析与可视化概述
数据分析与可视化(一) 1.1 数据分析 1.1.1 数据.信息与数据分析 1.1.2数据分析与数据挖掘的区别 1.1.3数据分析的流程 1.2 数据可视化 1.3 数据分析与可视化常用工具 1.4 ...
- python数据分析与可视化清华大学_Python数据分析与可视化 微课视频版
随着互联网的飞速发展,人们在互联网上的行为产生了海量数据,对这些数据存储.处理与分析带动了大数据技术的发展.其中,数据挖掘和分析技术可以帮助人们对庞大的数据进行相关分析,找到有价值的信息和规律,使得人 ...
最新文章
- 【VMC实验室】在QCloud上创建您的SQL Cluster(1)
- 学着学着Linux系统写篇心得
- CodeForces 660B Seating On Bus
- 在SAP C4C TI(Thing Inspector)页面里添加自定义UI
- 一张图理清ASP.NET Core启动流程
- 【RK3399Pro学习笔记】七、ROS订阅者Subscriber的编程实现
- linux md5sum命令
- 2008版计算机基础,计算机应用基础2008版各章课后习题解析
- Ant 基本语法的使用示列
- [Javascript]把html内容复制到剪贴板
- oracle不提交事务语句,oracle查找客户端未提交的事务语句
- AXI仿真之AXI Chip2Chip
- 基于springboot汽车租赁系统
- SVN修改文件夹名称
- C程序设计(第五版)谭浩强第七章课后答案
- 企业级网络性能优化 课内8 vlanif2in1
- Nim游戏入门+SG函数
- oracle 退出代码 255,sql – 奇怪的SSIS错误(进程退出代码255)
- ArcGIS中建筑物图形简化工具和建筑物群聚合工具的应用
- C#遇到 错误:不可访问,因为它具有一定的保护级别