熱線電話:13121318867

登錄
首頁大數據時代發現了一個好用到爆的數據分析利器
發現了一個好用到爆的數據分析利器
2022-08-03
收藏

作者:俊欣

來源:關于數據分析與可視化

小編最近碰上了一個數據分析利器,可以將我們需要的數據展示在網頁上,并且進行相對深度的數據分析與挖掘,所以就打算借此機會和大家分享一下。

關于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 )

我們將國家為“美國”的電影數據用紅色高亮顯示出來,如下圖所示

發現了一個好用到爆的數據分析利器

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

最新資訊
更多
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码