当前位置:网站首页>【干货原创】发现了一个好用到爆的数据分析利器
【干货原创】发现了一个好用到爆的数据分析利器
2022-07-22 21:34:00 【欣一2002】
小编最近碰上了一个数据分析利器,可以将我们需要的数据展示在网页上,并且进行相对深度的数据分析与挖掘,所以就打算借此机会和大家分享一下。
关于streamlit-aggrid
我们知道用Streamlit模块来进行web应用的开发真的非常的方便,但是在展示表格方面则显得十分地简陋,只有两个简单的接口函数,分别是st.table(df)和st.dataframe(df),对于字段较多的表格数据的展示非常的不友好,今天小编就来介绍一款Streamlit的插件,streamlit-aggrid,它的基础功能包括
数据排序
表格样式的调整
数据的筛选
翻页
等等
首先我们先通过pip命令下载该模块
pip install streamlit-aggrid我们先来写一个简单的demo,看一下该模块到底能实现哪些功能,代码如下
import pandas as pd
import streamlit as st
from st_aggrid import AgGrid
st.set_page_config(page_title="网飞(Netflix)的电影数据分析", layout="wide")
st.title("网飞(Netflix)的电影数据分析")
shows = pd.read_csv("netflix_titles.csv")
AgGrid(shows)output

我们和st.dataframe(shows)出来的结果相比,发现调用streamlit-aggrid模块展示出来的表格更加美观,如下图所示
不同方法的结果对比


当然我们还能够给数据进行排序,如下图所示

并且还可以根据指定的条件来进行数据的筛选,如下图所示

我们还可以按照自己的喜好来拖拽表格当中的每一列的数据,调整表格的顺序

更多操作
翻页
除了上面的一些基本操作之外,streamlit-aggrid模块展示出来的表格数据还支持翻页操作,代码如下
import pandas as pd
import streamlit as st
from st_aggrid import AgGrid
from st_aggrid.grid_options_builder import GridOptionsBuilder
st.set_page_config(page_title="网飞(Netflix)的电影数据分析", layout="wide")
st.title("网飞(Netflix)的电影数据分析")
shows = pd.read_csv("netflix_titles.csv")
gb = GridOptionsBuilder.from_dataframe(shows)
gb.configure_pagination()
gridOptions = gb.build()
AgGrid(shows, gridOptions=gridOptions)output

分组统计
我们平常在Pandas模块当中用到的groupby分组统计来streamlit-aggrid模块当中也可以轻松地实现,代码如下
import pandas as pd
import streamlit as st
from st_aggrid import AgGrid
from st_aggrid.grid_options_builder import GridOptionsBuilder
st.set_page_config(page_title="网飞(Netflix)的电影数据分析", layout="wide")
st.title("网飞(Netflix)的电影数据分析")
shows = pd.read_csv("netflix_titles.csv")
gb = GridOptionsBuilder.from_dataframe(shows)
gb.configure_pagination()
gb.configure_side_bar()
gb.configure_default_column(groupable=True, value=True, enableRowGroup=True, aggFunc="sum", editable=True)
gridOptions = gb.build()
AgGrid(shows, gridOptions=gridOptions, enable_enterprise_modules=True)这样,在表格的最左侧会出现工具栏,我们可以在其中进行进一步的操作,如下图所示

高亮表格数据
在Pandas模块当中我们可以给指定的数据高亮显示,那么同样地在streamlit-aggrid模块当中也可以实现,代码如下
shows = pd.read_csv("netflix_titles.csv")
gb = GridOptionsBuilder.from_dataframe(shows)
cellsytle_jscode = JsCode(
"""
function(params) {
if (params.value.includes('United States')) {
return {
'color': 'white',
'backgroundColor': 'red'
}
} else {
return {
'color': 'black',
'backgroundColor': 'white'
}
}
};
"""
)
gb.configure_column("country", cellStyle=cellsytle_jscode)
gridOptions = gb.build()
data = AgGrid(
shows,
gridOptions=gridOptions,
enable_enterprise_modules=True,
allow_unsafe_jscode=True
)我们将国家为“美国”的电影数据用红色高亮显示出来,如下图所示

数据集的获取链接是:https://www.kaggle.com/datasets/shivamb/netflix-shows?resource=download
NO.1
往期推荐
Historical articles
用Python制作可视化GUI界面,一键实现多种风格的照片处理
分享、收藏、点赞、在看安排一下?




边栏推荐
- C语音实现tcp客户端和tcp服务端,Qt调用测试
- 大厂底层必修:“应用程序与 AMS 的通讯实现”
- Z-Wave 800: Se firmware upgrade
- 局域网SDN技术硬核内幕 4 从计算虚拟化到网络虚拟化
- Codeforces Round #809 (Div. 2)(C和D1两题)
- 模拟Not All Endpoints Registered异常及解决方案
- Uniapp switches the tab bar to display different pages, remembers the page location and pulls up to get new data
- 自定义flink es source
- Leetcode 20有效的括号、33搜索旋转排序数组、88合并两个有序数组(nums1长度为m+n)、160相交链表、54螺旋矩阵、415字符相加(不能直接转Int)、reverse()函数
- Classes et objets (1)
猜你喜欢

2022 employment season surprise! The genuine Adobe software can finally be used for nothing

Application of workflow engine in vivo marketing automation

初出茅庐的小李第109篇博客之如何打开Keil中文件的真是路径

Ftxui basic notes (Hello World)

File upload, server file name Chinese garbled file upload, server file name Chinese garbled

Part I sourcetree installation

2022年暑假ACM热身练习4(总结)

船新 IDEA 2022.2 正式发布,新特性真香

FastAPI学习(二)——FastAPI+Jinjia2模板渲染网页(跳转返回渲染页面)

Implementation of remove function
随机推荐
Problems encountered in punching
FastAPI学习(二)——FastAPI+Jinjia2模板渲染网页(跳转返回渲染页面)
ASP.Net Core创建MVC项目上传多个文件(流方式)
scala idea提示函数参数
局域网SDN技术硬核内幕 5 虚拟化网络的实现
升级poi-tl版本1.12.0与旧版poi(4.1.2)、easyexcel之间的依赖冲突解决
Scala main constructor_ Scala main constructor depth
Kubernetes 部署策略
ETL tool (data synchronization)
6-14漏洞利用-rpcbind漏洞利用
【开发技术】SpingBoot数据库与持久化技术,JPA,MongoDB,Redis
基于ROS的导航框架
Wechat campus second-hand book trading applet graduation design finished product (4) opening report
Scala generic generic class details - t
成功解决:error: src refspec master does not match any
局域网SDN硬核技术内幕 22 亢龙有悔——规格与限制(下)
延伸联接边界,扩展业务范围,全面迈向智能云网2.0时代
Redis三种集群方案
大厂底层必修:“应用程序与 AMS 的通讯实现”
用Stanford Parse(智能语言处理)去实现分词器