最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

就算你不會(huì) Web 開發(fā),也能讓數(shù)據(jù)“動(dòng)”起來的開源項(xiàng)目

2021-06-24 08:49 作者:HelloGitHub  | 我要投稿

本文面向有 Python 基礎(chǔ)的小伙伴,有 Web 基礎(chǔ)的更好


作者:HelloGitHub-吱吱

這里是HelloGitHub 推出的《講解開源項(xiàng)目》系列,今天要向小伙伴們介紹的是一個(gè)能夠快速地把數(shù)據(jù)制作成可視化、交互頁面的 Python 框架:Streamlit,分分鐘讓你的數(shù)據(jù)動(dòng)起來!

猶記得我在做機(jī)器學(xué)習(xí)和數(shù)據(jù)分析方面的畢設(shè)時(shí),曾經(jīng)為了制作精美的圖表而抓耳撓腮,曾經(jīng)為了在頁面可視化、交互式展示數(shù)據(jù)而絞盡腦汁?,F(xiàn)在擺在我們面前的是一個(gè)能夠快速可視化數(shù)據(jù)并且制作成交互頁面的 Python 框架,僅需幾分鐘就可以快速構(gòu)建和部署功能強(qiáng)大的數(shù)據(jù)應(yīng)用程序,寫到這里 Streamlit 的高傲已經(jīng)盡數(shù)體現(xiàn)了。

Streamlit - The fastest way to build and share data apps



下面我們就一起來上手這個(gè)強(qiáng)大的 Python 數(shù)據(jù)可視化框架吧!

一、淺嘗輒止

1、本地實(shí)驗(yàn)環(huán)境:Python 3.6 - Python 3.8

2、安裝 Streamlit 體驗(yàn)官方提供的 hello world 小 demo。

pip install streamlit
streamlit hello


3、運(yùn)行上述命令后會(huì)自動(dòng)打開 Streamlit 的初始頁面 localhost:8501/。


4、通過左邊欄可以選擇四個(gè)內(nèi)置小項(xiàng)目并查看其代碼,例如分形動(dòng)畫、折線圖和層疊地圖等,能在網(wǎng)頁上點(diǎn)擊選擇設(shè)置一些參數(shù),動(dòng)態(tài)查看效果。


二、熟能生巧

通過 Streamlit 提供的接口,完美避開 Django 和 Flask 框架,無需編寫 HTML、CSS、JavaScript 代碼,與魔幻的前端 say goodbye。

2.1 開發(fā)自己的 app

1、首先創(chuàng)建一個(gè) Python 文件,命名為test.py,導(dǎo)入 Streamlit 庫。

import streamlit as st

2、通過如下命令啟動(dòng)項(xiàng)目,Ctrl + c 即可結(jié)束項(xiàng)目。

# filename 自己的 py 文件名稱
streamlit run [filename]


3、當(dāng)應(yīng)用程序正在運(yùn)行時(shí),每次修改 Python 文件并保存,網(wǎng)頁都會(huì)彈出提示“Source file changed”,可以選擇“Rerun”或者“Always rerun”,使得頁面能夠重新刷新。忽略掉小小的等待時(shí)間,我們能夠在快速交互循環(huán)中「所見即所得」。

4、我們?cè)谌魏螘r(shí)候?qū)W(wǎng)頁內(nèi)容進(jìn)行更新,包括:修改源碼、使用者和網(wǎng)頁進(jìn)行交互(點(diǎn)擊網(wǎng)頁的按鈕、輸入文本),Streamlit 都是自上而下掃描解析并且運(yùn)行整個(gè)代碼。

2.2 基礎(chǔ)命令

2.2.1 顯示文本


2.2.2「魔法」

我愿稱之為懶人命令——用盡量少的代碼達(dá)到同樣的效果。在不調(diào)用任何 Streamlit 方法的情況下,當(dāng)用戶自定義的變量出現(xiàn)在單行中,等同于 st.write() 效果。


也可以將'''' 包裹的內(nèi)容直接顯示。


2.2.3 顯示數(shù)據(jù)表

Streamlit 能從多個(gè)不同角度快速、交互的可視化數(shù)據(jù),原始數(shù)據(jù)、圖表、JSON 數(shù)據(jù)等皆可。


2.2.4 繪制圖表和地圖

Streamlit 支持多種流行的數(shù)據(jù)圖表庫,如 Matplotlib、Altair、deck.gl 等。


2.2.5 顯示多媒體

動(dòng)動(dòng)鼠標(biāo)即可將圖像、視頻和音頻文件直接嵌入 Streamlit 應(yīng)用程序。


2.2.6 交互式小部件

盯:漂亮的按鈕、滑塊、輸入框等小部件。每次用戶與小部件交互時(shí),Python 腳本都會(huì)重新執(zhí)行,并且該小部件的輸出值會(huì)在運(yùn)行期間設(shè)置為新值。

1、按鈕button。

if st.button('HelloGitHub'):
st.write('Subscribe our channels~')


2、復(fù)選框checkbox

ret = st.checkbox('I love HelloGitHub!')
if ret:
st.write('Me too~')


3、滑塊slider,可以選擇 int / float / data / time / datetime 等類型。

age = st.slider('HelloGitHub 幾歲了?', 0, 10, 1)
st.write("HelloGitHub ", age, ' 歲了~')


4、常用的命令列舉


2.2.7 顯示進(jìn)程和狀態(tài)

1、進(jìn)度條progress。


2、spinner:在執(zhí)行代碼塊時(shí)臨時(shí)顯示一條消息。


3、其他


2.2.8 性能優(yōu)化


Streamlit 使用@st.cache 裝飾器使得頁面能夠快速“無痕”刷新。當(dāng)我們給函數(shù)打上cache 標(biāo)記時(shí),Streamlit 在碰到該函數(shù)的時(shí)候會(huì)檢查三個(gè)值:函數(shù)名稱、函數(shù)體、輸入?yún)?shù)。如果發(fā)現(xiàn)這三個(gè)值的組合第一次出現(xiàn),則會(huì)運(yùn)行函數(shù),并且將結(jié)果存儲(chǔ)在本地緩存中。當(dāng)下次調(diào)用該函數(shù)時(shí),如果這三個(gè)值沒有改變,則 Streamlit 會(huì)跳過函數(shù)執(zhí)行,直接讀取本地緩存返回結(jié)果。


2.2.9 布局設(shè)置

1、將交互小部件放入側(cè)邊欄。


2、表單st.form():將元素與“提交”按鈕一起處理。


3、插入列并排的容器


2.3 修改配置

1、查看所有的配置選項(xiàng):streamlit config show。

2、Windows 系統(tǒng)可以在%userprofile%/.streamlit/config.toml 全局文件下或者在當(dāng)前運(yùn)行 Streamlit 的文件夾下建立.streamlit/config.toml 文件進(jìn)行設(shè)置。

3、某些配置例如外觀、主題等點(diǎn)擊網(wǎng)頁上的Settings 也可輕松選擇。


2.4 在 Streamlit sharing 上部署、管理和共享

1、將自己的項(xiàng)目代碼上傳到 GitHub 的共有倉庫,添加需求文件以管理任何外部依賴項(xiàng),例如requirements.txt 等。

2、在 streamlit.io/sharing 上注冊(cè)賬號(hào)并且申請(qǐng)邀請(qǐng)「Request an invite!」。收到邀請(qǐng)電子郵件后,即可使用該平臺(tái)部署管理。

3、選擇New appDeploy an app 中填入相應(yīng)信息即可。


4、若應(yīng)用程序有很多依賴項(xiàng),則第一次部署可能需要一些時(shí)間,最終應(yīng)用程序可以使用如下鏈接訪問:

share.streamlit.io/[user name]/[repo name]/[branch name]/[app path]

三、精益求精

到此,Streamlit 框架的基本接口和用法都已經(jīng)講完啦!更多詳情還需要友友們?cè)趯?shí)踐中探索,并將指令成功“嵌入”到自己的項(xiàng)目中。

很多命令在文檔的「API cheat sheet」中都可以快速搜索到,希望很快就能夠在 Streamlit Gallery 上看到大家分享的應(yīng)用,可以留言給我地址我會(huì)去把玩的~。

最后,您的關(guān)注和寶貴三連「收藏、點(diǎn)贊、轉(zhuǎn)發(fā)」,是對(duì)我們 HelloGitHub 莫大的支持,我們將會(huì)為您源源不斷推送新鮮、有趣的開源項(xiàng)目。

HelloGitHub 分享 GitHub 上有趣、入門級(jí)的開源項(xiàng)目。

就算你不會(huì) Web 開發(fā),也能讓數(shù)據(jù)“動(dòng)”起來的開源項(xiàng)目的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
随州市| 定陶县| 台中市| 新巴尔虎右旗| 抚松县| 吉木萨尔县| 利津县| 宜宾市| 永登县| 漾濞| 葵青区| 赞皇县| 佳木斯市| 买车| 洛浦县| 昌江| 永康市| 且末县| 玉田县| 石景山区| 镇宁| 旬阳县| 乃东县| 洱源县| 隆安县| 扬州市| 武功县| 铜梁县| 中江县| 抚州市| 武清区| 德昌县| 赣州市| 万山特区| 邵阳市| 鹿邑县| 儋州市| 靖边县| 金门县| 连平县| 延安市|