中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

房地產(chǎn)網(wǎng)站建設(shè)平臺(tái)免費(fèi)p站推廣網(wǎng)站入口

房地產(chǎn)網(wǎng)站建設(shè)平臺(tái),免費(fèi)p站推廣網(wǎng)站入口,北京網(wǎng)絡(luò)推廣外包公司排行,建設(shè)公司logostreamlit是什么 streamlit是一個(gè)開源的python庫,它能夠快速的幫助我們創(chuàng)建定制化的web應(yīng)用,而且還非常便于和他人分享,特別是在機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域。整個(gè)過程不需要你了解任何前端的知識(shí),包括html、css、javascript等&#x…

streamlit是什么

streamlit是一個(gè)開源的python庫,它能夠快速的幫助我們創(chuàng)建定制化的web應(yīng)用,而且還非常便于和他人分享,特別是在機(jī)器學(xué)習(xí)和數(shù)據(jù)科學(xué)領(lǐng)域。整個(gè)過程不需要你了解任何前端的知識(shí),包括htmlcss、javascript等,對(duì)非前端開發(fā)人員非常的友好。

streamlit安裝

streamlit要求python版本大于等于3.6,可以直接使用pip進(jìn)行安裝

pip?install?streamlit

安裝成功后,使用其內(nèi)置的hello app測(cè)試,執(zhí)行命令

streamlit?hello

服務(wù)啟動(dòng)后,它會(huì)自動(dòng)幫我們打開頁面,地址是 http://localhost:8501

63b66e7c5b44f6a1487949a616dc7fbd.png

streamlit

可以看到,streamlit默認(rèn)使用端口8501

除此之外,streamlit官方還提供了一個(gè)稍復(fù)雜的應(yīng)用,它結(jié)合了yolov3的目標(biāo)檢測(cè)算法,倉庫地址:https://github.com/streamlit/demo-self-driving,感興趣的可以去研究研究,代碼簡(jiǎn)短,但功能完整

547e4ae0e2adba691ca12d070ae6f74d.gif

streamlit

那么,針對(duì)我們自己寫的源碼文件,該怎么運(yùn)行呢?其實(shí)也非常簡(jiǎn)單,比如源碼文件是app.py,那么可以執(zhí)行

streamlit?run?app.py

這里再說2個(gè)常用的命令

  • streamlit docs 查看文檔

  • streamlit cache clear 清緩存

streamlit常用組件

按鈕

import?streamlit?as?stbutton?=?st.button('按鈕')

affcc56974073b81fa9a4d6596be8d78.png

streamlit button

文本輸入框

import?streamlit?as?stst.text_input('請(qǐng)輸入最喜歡的編程語言',?key="name")

c24b5cd21799a8e586786e885f1dc7ed.png

streamlit text_input

文本顯示

import?streamlit?as?stst.write('Hello?streamlit.')

f6cf937597a9cc2270cc2c0095993251.png

streamlit write

streamlit完美支持markdown語法,可以直接使用write方法,來看示例

import?streamlit?as?stst.write("""#?一級(jí)標(biāo)題##?二級(jí)標(biāo)題###?三級(jí)標(biāo)題**強(qiáng)調(diào)**>這是引用.?python????.?java????.?c/c++????.?rust????
""")

103cec6aefd4fa31c6407d101fbbcf5f.png

streamlit write markdown

除了write方法,streamlit還提供了text方法,同樣可以顯示文本信息

import?streamlit?as?stst.text('Hello?streamlit.')

標(biāo)題

import?streamlit?as?stst.title('title')

e9ca3c715b6265f6149a634156504765.png

streamlit title

除了titlestreamlit還提供了headersubheader

import?streamlit?as?stst.header('header')
st.subheader('subheader')

52aef844141cda4c2fa48758f0b613c3.png

streamlit header

滑動(dòng)條

import?streamlit?as?stnumber?=?st.slider('Pick?a?number',?0,?100)

49676a79e6e0d2f0fe2d8089391efe98.png

streamlit slider

選擇框

import?streamlit?as?stflag?=?st.checkbox('Yes')

cd97d92c1ca1f517f07025496b44211c.png

streamlit checkbox

單選按鈕

import?streamlit?as?stlanguages?=?['python',?'c',?'rust',?'c++']st.radio('Pick?a?language',?languages)

078c5515f503af78f5e53bc31a60cac4.png

streamlit radio

下拉選擇框

import?streamlit?as?stst.selectbox('用過哪幾種編程語言?',?('python',?'c',?'java',?'rust'))

bd78d30b1c264a2fe0ec261353648f0b.png

streamlit selectbox

日期選擇器

import?streamlit?as?stdate?=?st.date_input('Pick?a?date')

10d08d262e68af30414a30a823c43542.png

streamlit date_input

顏色選擇器

import?streamlit?as?stcolor?=?st.color_picker('Pick?a?color')

e9c1268c14e10b5df9981c78d932ab8c.png

streamlit color_picker

文件選擇器

import?streamlit?as?stfile?=?st.file_uploader('Pick?a?file')

d1a8dfba4941dc7c714e3de925a5b2dd.png

streamlit file_uploader

streamlit的其它功能

顯示json

import?streamlit?as?stst.json({"code":?0,"data":?{"sex":?"female","age":?18,"score":?100}
})

6160a798de38d58d95099a6ad6b59df7.png

streamlit json

顯示代碼

from?numpy.core.arrayprint?import?_leading_trailing
import?streamlit?as?stcode?=?"""def?func():print('Hello?streamlit.')
"""
st.code(code,?language='python')

9bd7d3dd8908bb492f673ef0e259bcf1.png

streamlit code

顯示pandas中的dataframe

from?numpy.core.arrayprint?import?_leading_trailing
import?streamlit?as?st
import?pandas?as?pd
import?numpy?as?npdf?=?pd.DataFrame(np.random.randn(50,?5),?columns=('col?%d'?%?i?for?i?in?range(5)))
st.dataframe(df)

f4fea0ec0a970aad696b34180eed710b.png

streamlit pandas dataframe

最后一句中的st.dataframe(df)可以用st.write(df)來代替,效果一樣

顯示表格

import?streamlit?as?st
import?pandas?as?pd
import?numpy?as?npdf?=?pd.DataFrame(np.random.randn(50,?5),?columns=('col?%d'?%?i?for?i?in?range(5)))
st.table(df)

5af854ba7a5b80c210dff05774d6336a.png

streamlit table

與上邊的dataframe不同的是,表格會(huì)將所有數(shù)據(jù)都顯示出來,而沒有了滾動(dòng)條

指標(biāo)性數(shù)據(jù)顯示

這里還需要安裝另一個(gè)庫streamlit-metrics,執(zhí)行安裝命令pip install streamlit-metrics即可

import?streamlit?as?st
from?streamlit_metrics?import?metric_rowst.write("一周數(shù)據(jù)統(tǒng)計(jì)")
metric_row({"關(guān)注人數(shù)":?100,"點(diǎn)贊人數(shù)":?200,"在看人數(shù)":?300,"分享人數(shù)":?400}
)

c70ac2e1ebf3a04fa1ad7d47c83cb85b.png

streamlit metric

streamlit的會(huì)話狀態(tài)和回調(diào)

會(huì)話狀態(tài)session state

在瀏覽器中打開新的頁面,就創(chuàng)建了一個(gè)會(huì)話(session)。會(huì)話狀態(tài)是頁面rerun(并非類似F5的頁面刷新)時(shí)數(shù)據(jù)交互的一種方式。

看個(gè)計(jì)數(shù)的示例

import?streamlit?as?stst.title('Hello?streamlit.')
counter?=?0increment?=?st.button('Increment')
if?increment:counter?+=?1st.write('Count=?',?counter)

765aaa1bc05a636c6db06ba08bb11325.png

streamlit session state

可以看到只有第一次點(diǎn)擊按鈕時(shí),Count增加了1,后面的點(diǎn)擊,counter都不會(huì)改變,這顯然跟我們的預(yù)期是不一樣的。

我們修改下上面的代碼

from?typing?import?Counter
import?streamlit?as?stst.title('Hello?streamlit.')
if?'counter'?not?in?st.session_state:st.session_state.counter?=?0increment?=?st.button('Increment')
if?increment:st.session_state.counter?+=?1st.write('Count=?',?st.session_state.counter)

ef5976f6ea49f2e287992dd3ac4686e1.png

streamlit session state

這樣功能就正常了,每點(diǎn)擊一次按鈕,Count就加1

回調(diào)callbacks

回調(diào)(callbacks)是一個(gè)python函數(shù),它在輸入組件更改時(shí)被調(diào)用,比如按鈕被點(diǎn)擊、滑動(dòng)條被拉拽等。

針對(duì)上邊的示例,使用callbacks修改一下

from?typing?import?Counter
import?streamlit?as?st#?callbacks
def?increment_counter():st.session_state.counter?+=?1st.title('Callbacks')
if?'counter'?not?in?st.session_state:st.session_state.counter?=?0st.button('Increment',?on_click=increment_counter)
st.write('Count=?',?st.session_state.counter)

代碼執(zhí)行的效果是一樣的。這是無需傳參的示例,如果需要數(shù)據(jù)交互,可以使用argskwargs,看下面的示例

import?streamlit?as?stst.title('Callbacks?with?args')
if?'counter'?not?in?st.session_state:st.session_state.counter?=?0increment_value?=?st.number_input('Enter?a?value',?value=0,?step=1)def?increment_counter(increment_value):st.session_state.counter?+=?increment_valueincrement?=?st.button('Increment',?on_click=increment_counter,args=(increment_value,?))st.write('Count?=?',?st.session_state.counter)

89068d8101452a9a717ccaba17def8bd.png

streamlit callbacks args

下面看看kwargs的用法,它接收的是命名參數(shù)

import?streamlit?as?stst.title('Callbacks?with?kwargs')
if?'counter'?not?in?st.session_state:st.session_state.counter?=?0def?increment_counter(increment_value=0):st.session_state.counter?+=?increment_valuedef?decrement_counter(decrement_value=0):st.session_state.counter?-=?decrement_valuest.button('Increment',?on_click=increment_counter,kwargs=dict(increment_value=5))st.button('Decrement',?on_click=decrement_counter,kwargs=dict(decrement_value=1))st.write('Count?=?',?st.session_state.counter)

1db6ebe798c4e1f1be7aea4095bef6d9.png

callbacks kwargs

點(diǎn)擊Increment按鈕,Count就加5,點(diǎn)擊Decrement按鈕,Count就減1

會(huì)話狀態(tài)的注意事項(xiàng)

關(guān)于會(huì)話狀態(tài),有兩點(diǎn)需要注意,分別是

  • 只要頁面打開并連接到streamlit服務(wù)器,會(huì)話狀態(tài)就會(huì)一直存在。一旦關(guān)閉選項(xiàng)卡,會(huì)話狀態(tài)中存儲(chǔ)的所有內(nèi)容都會(huì)丟失

  • 會(huì)話狀態(tài)不會(huì)持久化。如果streamlit服務(wù)器崩潰,那么存儲(chǔ)在會(huì)話狀態(tài)中的所有內(nèi)容都會(huì)被刪除

53d6eca28bd2191228acc9f941f9fe0d.jpeg

http://www.risenshineclean.com/news/11340.html

相關(guān)文章:

  • 網(wǎng)站開發(fā)廣東seo搜索
  • wordpress 博客 簡(jiǎn)書有必要買優(yōu)化大師會(huì)員嗎
  • 邯鄲網(wǎng)站建設(shè)制作怎么給自己的網(wǎng)站設(shè)置關(guān)鍵詞
  • 做網(wǎng)站開發(fā)需要培訓(xùn)嗎網(wǎng)站市場(chǎng)推廣
  • 南京網(wǎng)站建設(shè)價(jià)位外貿(mào)平臺(tái)有哪些比較好
  • 網(wǎng)站服務(wù)器轉(zhuǎn)移視頻嗎武漢最新疫情
  • wordpress圖片在哪惠州seo代理
  • discuz論壇 整合到網(wǎng)站漯河網(wǎng)站seo
  • 網(wǎng)站 如何備案培訓(xùn)心得體會(huì)800字
  • wordpress訂單推送微信sem與seo
  • 做國(guó)外銷售都上什么網(wǎng)站不付費(fèi)免費(fèi)網(wǎng)站
  • ps做網(wǎng)站頁面美工班級(jí)優(yōu)化大師官方免費(fèi)下載
  • 維恩圖在線制作網(wǎng)站站長(zhǎng)工具的使用seo綜合查詢運(yùn)營(yíng)
  • 做網(wǎng)站不用服務(wù)器嗎鄭州網(wǎng)站開發(fā)公司
  • 找做報(bào)紙的背景圖去什么網(wǎng)站海外推廣代理商
  • 個(gè)人如何開網(wǎng)站東莞網(wǎng)絡(luò)推廣營(yíng)銷
  • 哪家網(wǎng)站建設(shè)服務(wù)好開發(fā)網(wǎng)站需要多少錢
  • 懷化市優(yōu)化辦電話seo快速排名優(yōu)化公司
  • 東莞建工集團(tuán)知乎推廣優(yōu)化
  • 周口網(wǎng)站制作公司哪家好快速網(wǎng)站seo效果
  • 江蘇 網(wǎng)站 備案黃頁引流推廣網(wǎng)站入口
  • 網(wǎng)絡(luò)搏彩網(wǎng)站做代理衡水seo營(yíng)銷
  • 做網(wǎng)站用的系統(tǒng)公司網(wǎng)絡(luò)推廣營(yíng)銷
  • 網(wǎng)站主機(jī)是服務(wù)器嗎深圳廣告公司
  • 我的網(wǎng)站沒備案怎么做淘寶客推廣小程序運(yùn)營(yíng)推廣公司
  • 服裝網(wǎng)站建設(shè)公司地址國(guó)際新聞最新消息今天軍事新聞
  • 黑龍江住房和建設(shè)廳網(wǎng)站寧波seo網(wǎng)絡(luò)推廣推薦
  • 做網(wǎng)站模板的海報(bào)尺寸多少錢電商seo優(yōu)化是什么意思
  • 做網(wǎng)站必須要電腦嗎app開發(fā)工具
  • 公司網(wǎng)站建立教程aso優(yōu)化平臺(tái)有哪些