基于Python+Echarts+Pandas 搭建一套图书分析大屏展示系统(附源码)

news2024/12/24 22:15:18

今天给大家分享的是基于 Flask、Echarts、Pandas 等实现的图书分析大屏展示系统。

项目亮点

  • 采用 pandas、numpy 进行数据分析

  • 基于 snownlp、jieba 进行情感分析

  • 后端接口选用 RESTful 风格,构建 Swagger 文档

  • 基于 Flask、Echarts 构建 Web 服务,采取前后端分离的开发模式

  • 结合 redis 提高访问速度

  • 采用 docker-compose 构建项目

  • 使用 gitee、github 进行代码版本管理

  • 前端采用 Promise、async、await 进行异步请求

在线演示地址

  • 主页:https://python.sinwer.cn/

  • 数据接口:https://python.sinwer.cn/v1/

效果截图

图片太大,不清晰。

项目本地启动

docker-compose up   

项目本地访问

localhost:8080   

源码

在这里插入图片描述

本文由技术群粉丝投稿分享,项目源码、数据、技术交流提升,均可加交流群获取,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

方式①、添加微信号:dkl88191,备注:来自CSDN +研究方向
方式②、微信搜索公众号:Python学习与数据挖掘,后台回复:图书分析大屏

部分代码展示
wsgi.py

import sys

WIN = sys.platform.startswith('win')
from gevent import monkey

if WIN:
    monkey.patch_all(contextvars=False)
else:
    monkey.patch_all()
# gc.disable()
# gc.set_debug(gc.DEBUG_LEAK)
import os

from dotenv import load_dotenv, find_dotenv
from werkzeug.middleware.proxy_fix import ProxyFix

from BookAnalysis import create_app

load_dotenv(find_dotenv())

app = create_app(os.environ.get('FLASK_ENV', 'production'))
app.wsgi_app = ProxyFix(app.wsgi_app)
#!/usr/bin/python3
# -*- coding: utf-8 -*- 
# @Software: PyCharm
import jieba
import pandas as pd

from BookAnalysis.analysis.base import Base


class Analysis(Base):
    def __init__(self, filename=None):
        if filename is None:
            filename = 'bookComment.csv'
        super().__init__(filename)

    def getData(self):
        # 选取评论数量最多的图书
        url = self.df['url'].value_counts().idxmax()
        df: pd.DataFrame = self.df.loc[self.df['url'] == url]
        # print(df.head())
        # print(df.shape)
        # print(df.columns)
        comments = df['comment'].astype(str).tolist()
        counts = {}
        # 统计评论
        for comment in comments:
            words = jieba.cut(comment, use_paddle=True)
            for word in words:
                if len(word) == 1:
                    continue
                else:
                    counts[word] = counts.get(word, 0) + 1
        # _ans = []
        # for key, value in counts.items():
        #     _ans.append({
        #         "name": key,
        #         "value": value
        #     })
        # print(counts)
        # print(_ans)
        # 按照 value 进行排序 dict
        counts = sorted(counts.items(), key=lambda item: item[1], reverse=True)
        _ans = []
        for key, value in counts:
            # 获取前 200 个分词,减少网络传输压力
            if len(_ans) > 200:
                break
            _ans.append({
                "name": key,
                "value": value
            })
        return _ans


if __name__ == '__main__':
    print(Analysis().getData())

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

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

相关文章

2022年债券估值工具和方法

第一章 债券估值原理概述 债券估值是决定债券公平价格[1]的过程。债券公平价格是债券的预期现金流经过合适的折现率折现以后的现值,其原理是未来现金流流出折现到今日与今日现金流流出相等。因此,债券的估值模型可以表示为: 资料来源&#x…

新冠阳性的第四篇博客,SpringBoot 任务(异步、定时、邮件)

新冠阳性的第四篇博客,SpringBoot 任务(异步、定时、邮件)1.异步任务2.邮件任务3.定时任务1.异步任务 异步处理还是非常常用的,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动&#x…

Python多元线性回归、机器学习、深度学习在近红外光谱分析中的应用

导师:郁磊副教授,主要从事MATLAB 编程、机器学习与数据挖掘、数据可视化和软件开发、人工智能近红外光谱分析、生物医学系统建模与仿真,具有丰富的实战应用经验,主编《MATLAB智能算法30个案例分析》、《MATLAB神经网络43个案例分析…

【Vue】二、 认识Vue.js的各种指令

后端程序员的vue学习之路1、创建第一个vue对象2、vue构造器3、Vue.js模板语法v-text至v-for练习v-on指令练习v-bind指令练习v-model指定练习v-pre指令v-slot指令v-cloak指令v-once指令1、创建第一个vue对象 引入了vue.js后,在页面就可以创建一个Vue对象&#xff0c…

JS圣诞树

✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。🍎个人主页:Java Fans的博客🍊个人信条:不迁怒,不贰过。小知识,大智慧。💞当前专栏:前端案例分享…

this指向问题,apply,call,bind用法及区别

1.谁调用我,我就指向谁。 在页面上直接打印一个consle.log(this),这个this会指向window对象。如果写一个函数:打印this,该this会指向window。因为这个函数是挂载在这个window对象上的。对象obj的this指向的是对象,因为…

[ 漏洞挖掘基础篇五 ] 漏洞挖掘之 XSS 注入挖掘

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

创新指南|2023年企业战略制定应避免的5大误区

在迅速发展、不断变化的当下,尤其是疫情黑天鹅发生之后,许多企业面临着高度的不确定性,从而亟需进行企业战略的思考。在本文中,战略专家Stephen Bungay指出了五个战略误区,并解释了它们为什么听起来正确,以…

基于JAVA技术的《物联网技术》课程学习网站设计与实现

开发工具(eclipse/idea/vscode等): 数据库(sqlite/mysql/sqlserver等): 功能模块(请用文字描述,至少200字): 基于JAVA技术的《物联网技术》课程学习网站设计与实现 网站前台:关于我们、联系我们、公告信息、资料信息&a…

实现Kafka至少消费一次

实现Kafka至少消费一次默认的kafka消费者存在什么问题?实现至少消费一次加入重试队列再次消费使用seek方法再次消费在实际重要的场景中,常常需要实现消费者至少消费一次。因为使用默认的kafka消费者存在某些问题。 默认的kafka消费者存在什么问题&#x…

Django+DRF+Vue+Mysql+Redis OUC软件工程作业

交作业啦 前端:htmlcssjsVueElement-ui 后端:DjangoDRFceleryhaystackdjango_crontab 数据库:MysqlRedis 一些技术和功能: 为session、短信验证码、用户浏览记录、购物车、异步任务队列 创建缓存whoosh搜索引擎异步任务队列 用…

谷歌Recorder实现说话人自动标注,功能性与iOS语音备忘录再度拉大

在今年的 Made By Google 大会上,谷歌公布了 Recorder 应用的自动说话人标注功能。该功能将实时地为语音识别的文本加上匿名的说话人标签(例如 “说话人 1” 或“说话人 2”)。这项功能将极大地提升录音文本的可读性与实用性。 谷歌于 2019 …

Spring Cloud Alibaba Sentinel - - >流控规则初体验

源码地址:https://github.com/alibaba/Sentinel 新手指南:https://github.com/alibaba/Sentinel/wiki/新手指南#公网-demo 官方文档:https://sentinelguard.io/zh-cn/docs/introduction.html 注解支持文档:https://github.com/ali…

Android常用布局总结之(FrameLayout、ConstraintLayout)

一、FrameLayout 帧布局 这种布局类似叠加的图片,没有任何的定位方式,当我们往里面添加组件的时候,会默认把他们放到容器的左上角。 上面的组件显示在底层,下面的组件显示在上层。 如下代码,视图1显示在最底层&#…

虹科案例 | 光纤传感器实现了新的核磁共振应用!

背景介绍 光纤传感器已成为推动MRI最新功能套件升级和新MRI设备设计背后的关键技术。将患者的某些活动与MRI成像系统同步是越来越受重视的需求。磁场强度随着每一代的发展而增大(3.0T是当今最高的标准),因此,组件的电磁透明度在每…

python---数据库操作

在python中,使用第三方库pymysql来执行数据库操作 命令行窗口输入 :pip install pymysql,下载第三方库 数据库查询操作 Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。 fetchone(): 该方法获取下一…

OpManager 网络管理软件

随着网络在有线、无线和虚拟 IT 环境中的扩展,网络管理只会变得越来越复杂,使网络管理员需要他们可以获得的所有帮助。市场上有无数的网络管理解决方案,因此将注意力集中在正确的解决方案上非常重要。网络管理工具通常可以帮助您将网络的各种…

一行python命令让手机读取电脑文件

本文讲解python的一个内置文件传输下载器,可以用来在局域网内进行文件传输,当然可能有人会问,我用微信QQ也能传,为什么还要用python来传输下载?在此,其实我个人感觉的是,这种操作更简单&#xf…

【Web开发】Python实现Web服务器(Ubuntu下打包Flask)

🍺基于Python的Web服务器系列相关文章编写如下🍺: 🎈【Web开发】Python实现Web服务器(Flask快速入门)🎈🎈【Web开发】Python实现Web服务器(Flask案例测试)&a…

安科瑞红外测温方案助力滁州某新能源光伏产业工厂安全用电

安科瑞 李亚俊 壹捌柒贰壹零玖捌柒伍柒 摘要: 近年来,在国家政策引导与技术革新驱动的双重作用下,光伏产业保持快速增长态势,产业规模持续扩大,技术迭代更新不断,目前已在全球市场取得优势。据统计&#…