当前位置:网站首页>【干货原创】发现了一个好用到爆的数据分析利器
【干货原创】发现了一个好用到爆的数据分析利器
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界面,一键实现多种风格的照片处理
分享、收藏、点赞、在看安排一下?




边栏推荐
- LAN SDN hard core technology insider 18 beautiful new world
- Inside the hard core of LAN SDN technology - evpn implementation of 16 three from thing to person user roaming in the park
- LAN SDN hard core technology insider 17 from one to 100
- 如何优雅的改变this指向
- 船舶测试/ IMO A.799 (19)船用结构材料不燃性试验
- Implementation of remove function
- 不会吧?钉钉都下载了,你还不知道可以这样玩?
- 21 -- 除自身以外数组的乘积
- Information system project managers must recite the core examination points (49) contract law
- Squid proxy service +ip proxy pool
猜你喜欢

Wechat campus second-hand book trading applet graduation design finished product (1) development outline

VMware 中搭建 SylixOS 环境

微信小程序项目实战

Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)

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

开幕在即 | “万物互联,使能千行百业”2022开放原子全球开源峰会OpenAtom OpenHarmony分论坛

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

Wechat hotel reservation applet graduation project (7) Interim inspection report

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

Small program completion work wechat campus second-hand book trading small program graduation design finished product (2) small program function
随机推荐
2022年暑假ACM热身练习4(总结)
毕业设计-----基于STM32的物联网环境检测系统
Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
避错,常见Appium相关问题及解决方案
4G传输模块的功能应用
Scala generic generic class details - t
11.37万的星瑞是怎样一个产品和表现力?一起来看看吧
船新 IDEA 2022.2 正式发布,新特性真香
局域网SDN硬核技术内幕 17 从一到百
Leetcode 20有效的括号、33搜索旋转排序数组、88合并两个有序数组(nums1长度为m+n)、160相交链表、54螺旋矩阵、415字符相加(不能直接转Int)、reverse()函数
Inside the hard core of LAN SDN technology - evpn implementation of 16 three from thing to person user roaming in the park
亚马逊旗下Zoox通过安全测试 并在加州申请试驾
Talk about 12 business scenarios of concurrent programming
JS determines the scrolling element and solves the tab to switch the scrolling position independently
LeetCode(剑指 Offer)- 11. 旋转数组的最小数字
Wechat hotel reservation applet graduation project (6) opening defense ppt
6-15漏洞利用-smb-RCE远程命令执行
Codeforces Round #809 (Div. 2)(C和D1两题)
ROS2常用命令行工具整理ROS2CLI
How to use the order flow analysis tool (Part 2)