Numri 2 është i preferuari im

Streamlit është një bibliotekë e mahnitshme Python.

Unë e përdor atë çdo ditë për të ndërtuar dhe ndarë aplikacione interaktive në internet që zgjidhin detyra të ndryshme: ndërveprim me hyrjet e përdoruesve dhe të kuptuarit e parashikimeve të një modeli të mësimit të makinerive, ofrimin e një ndërfaqeje për vizualizimin dhe eksplorimin e të dhënave, ndarjen e raporteve të automatizuara dhe shumë më tepër.

Ajo që e bën Streamlit edhe më të fuqishëm është grupi i madh i shtojcave (të quajtura edhe komponentët e Streamlit) që zhvillon dhe mirëmban komuniteti me burim të hapur.

Në këtë postim, unë do të shqyrtoj 5 komponentë Streamlit që i përdor shpesh për të zgjeruar funksionalitetet e Streamlit. Ne do të kuptojmë se çfarë arrijnë saktësisht këto biblioteka dhe kur duhet t'i përdorni ato.

Nëse jeni përdorues i Streamlit, duhet ta kontrolloni patjetër këtë postim.

Pa shumë kohë, le t'i hedhim një sy 👀



Komponentët Streamlit - cilat janë ato?

Komponentët Streamlit janë biblioteka të jashtme Python që i instaloni në krye të Streamlit për të ofruar funksionalitete shtesë – thjesht mund t'i shikoni ato si shtojca.

Mund të shkoni te kjo lidhje dhe të kontrolloni komponentët më të njohur që komuniteti ka hapur me burim.

➡️ Kjo është përtej qëllimit të këtij postimi, por nëse jeni të interesuar të ndërtoni komponentin tuaj të personalizuar Streamlit, mund t'i shikoni këto dy video tutoriale që shpjegojnë mjaft mirë procesin.

Tani le të kalojmë nëpër listë. Disa nga këta komponentë nuk janë paraqitur në dokumentacionin zyrtar, por prapë mund t'i provoni 😉.

👉 1 — streamlit_tags

Etiketa/komponenti i personalizuar i fjalëve kyçe për Streamlit

pip install streamlit-tags

Streamlit nuk ju lejon në mënyrë origjinale të futni një listë fjalësh dhe t'i rikuperoni këto të dhëna si një listë python në fund. Megjithatë, ekziston një zgjidhje e zakonshme: ju merrni hyrjen e përdoruesit përmes një st.text_input ose st.text_area, pastaj e analizoni atë në lidhje me një ndarës të caktuar dhe merrni një listë.

Por kjo duket si punë e panevojshme.

streamit_tagsju lejon të merrni drejtpërdrejt fjalët kyçe nga ndërfaqja siç tregohet në shembullin e mëposhtëm.

Kur do t'ju duhet të përdorni streamlit-tags?

Sa herë që prisni një listë fjalësh si hyrje dhe nuk dëshironi të kryeni analizë të panevojshme të vargjeve me prirje ndaj gabimeve.

👉 2 — streamlit_aggrid

Një mbështjellës i ndriçuar rreth bibliotekës Ag-Grid JS

GitHub:https://github.com/PablocFonseca/streamlit-aggrid

pip install streamlit-aggrid

streamlit_aggridështë një komponent që është ndërtuar në krye të AG Grid(një rrjetë të dhënash JavaScript shumë të personalizueshme) dhe ka për qëllim tëpërmirësojë aftësitë Streamlit për sa i përket shfaqjes kornizat e të dhënave dhe ndërveprimi me to.

Përdorimi i streamlit_aggrid është po aq i thjeshtë sa importimi i funksionit AgGrid dhe kalimi i një kornize të dhënash në të:

from st_aggrid import AgGrid
AgGrid(df)

Këtu janë disa nga veçoritë e AgGrid:

  • Kollonat mund të renditen, filtrohen dhe të kërkueshme:

  • Mund të tërhiqni kolonat dhe të ndryshoni renditjen e tyre: kjo mund të jetë e dobishme kur analizoni të dhënat

  • Kornizat e mëdha të të dhënave mund të faqezohen

  • Mund të gozhdosh kolonat, t'i gruposh dhe të llogaritësh grumbullimet — drejtpërdrejt nga shfletuesi

  • Mund të bëni që kornizat tuaja të të dhënave të ndërveprojnë me pjesën tjetër të miniaplikacioneve Streamlit (për shembull, duke zgjedhur një rresht)

Këto GIF janë marrë nga një nga postimet e mia të mëparshme. Nëse jeni të interesuar të mësoni më shumë rreth streamit_aggrid, mund ta shikoni.



Kur do t'ju duhet të përdorni streamlit-aggrid?

Stilimi dhe faqosja e veçuar, mendoj se veçoria më interesante e streamlit_aggrid është aftësia për të bërë kornizat e të dhënave të ndërveprojnë me komponentët e tjerë të aplikacionit Streamlit.

👉 3 - streamlit-charts

Një komponent Streamlit për paraqitjen e komploteve të ECcharts.

Github:https://github.com/andfanilo/streamlit-echarts

pip install streamlit-echarts

Ju ndoshta keni përdorur Matplotlib, Bokeh ose Plotly kur ju është dashur të bëni vizualizime të të dhënave në Streamlit: këto janë zgjedhjet më të njohura.

Një tjetër opsion që kam hasur kohët e fundit është Echarts: një bibliotekë e mahnitshme ndërvepruese dhe vizualizimi i të dhënave. Është shkruar në JavaScript dhe mirëmbahet nga fondacioni Apache.

Echarts ofron aftësi të fuqishme vizualizimi me personalizim të pafund. Mund ta përdorni për të vizatuar vija, grafikët me shtylla, grafikët me byrek, grafikët e shpërndarjes, hartat gjeografike të nxehtësisë, grafikët e radarëve, grafët e drejtuar, hartat e pemëve, grafikët Sankey, matësat, parcelat paralele dhe shumë gjëra të tjera të çmendura.

Sintaksa është gjithashtu mjaft e thjeshtë për t'u kuptuar dhe përshtatur.

Nëse jeni kurioz, mund të kontrolloni se çfarë mund të bëni me echarts këtu.

echarts streamlit-echartsështë komponenti që ju nevojitet për të integruar komplotet e Echarts në aplikacionet tuaja Streamlit.

Unë kam luajtur pak me këtë komponent dhe duhet të them se është mjaft i lehtë për t'u përdorur.
Më lejoni t'ju tregoj një shembull.

Imagjinoni që dëshironi të futni një matës, si ai i mëposhtëm (kodi i disponueshëm këtu nga shembujt zyrtarë)

E tëra çfarë ju duhet të bëni është të konvertoni objektin e mëposhtëm JSON (nga paneli i majtë):

në një fjalor Python:

Më pas, do t'ju duhet ta kaloni këtë fjalor te st_echarts

from streamlit_echarts import st_echarts
st_echarts(options=options, width="100%", key=0)

Dhe rezultati duket mjaft i mirë në Streamlit.

Kur do t'ju duhet të përdorni streamlit-echarts?

  • Kjo është një alternativë shumë e mirë për Plotly - Unë personalisht preferoj paraqitjen e Echarts
  • Nëse keni disa njohuri për JS, mund të ndërtoni parcela shumë të sofistikuara dhe paraqitje të personalizuara

👉 4 — profilizimi i pandave

profilimi i pandave në aplikacionin tuaj Streamlit — me një rresht kodi

pip install streamlit-pandas-profiling

"Pandas-profiling" ekziston prej disa vitesh. Është një bibliotekë Python që ju lejon të ndërtoni raporte HTML nga objektet tuaja të Pandas Dataframes. Është shumë i dobishëm sepse automatizon shumë detyra që ne kryejmë në mënyrë të përsëritur për të analizuar të dhënat, për të llogaritur metrikat statistikore, për të krijuar grafikime, për të gjetur korrelacione, anomali ose të dhëna që mungojnë.

Integrimi i profilit të pandave brenda Streamlit në fakt nuk është aspak një ide e keqe. E gjeta veten shumë herë duke krijuar tabela të analizës së të dhënave eksploruese (EDA) nga e para në Streamlit dhe ky komponent do të kishte kursyer shumë kohë.

Integrimi midis këtyre dy bibliotekave është shumë i qetë siç tregohet në GIF-in e animuar më poshtë:

Kur do t'ju duhet të përdorni streamlit-pandas-profiling?

Nëse po ndërtoni një aplikacion Streamlit që kryen analiza eksploruese të të dhënave,streamlit-pandas-profiling është një komponent që mund ta automatizojë këtë detyrë ose të paktën ta përshpejtojë atë shumë.

👉 5 — tekst-st-shënuar

Një komponent i ndriçuar për të shfaqur tekstin e shënuar

pip install st-annotated-text

st-annotated-textështë një komponent interesant që ju lejon të nënvizoni pjesë të veçanta të një teksti dhe t'i atribuoni një etiketë dhe një ngjyrë. Nëse punoni me detyra NLP si Njohja e Entitetit të Emërtuar (NER) ose etiketimi POS, kjo paketë është e dobishme.

Kur do t'ju duhet të përdorni st-annotated-text?

Më lejoni t'i përgjigjem kësaj me një shembull: më poshtë është një pamje nga ekrani i një aplikacioni Streamlit që kam bërë në të kaluarën për të anonimizuar të dhënat personale. Kur një përdorues fut një tekst, një model NER njeh entitete të emërtuara si persona dhe vendndodhje. Këto entitete dhe më pas shënohen me një ngjyrë dhe etiketë specifike dhe më në fund hash për të prodhuar një tekst të anonimizuar.

st-annotated-textofron informacion të dobishëm vizual në këtë kontekst duke shënuar çdo entitet.

Nëse jeni të interesuar të mësoni më shumë rreth këtij aplikacioni, mund të kontrolloni postimin tim:



Burimet

Këtu është, si gjithmonë, një listë e burimeve për të shkuar më tej dhe për të mësuar më shumë rreth komponentëve Streamlit dhe Streamlit.

Faleminderit që lexuat 🙏

Përsëri, nëse e keni arritur deri këtu, do të doja t'ju falënderoja për kohën tuaj dhe shpresoj që të keni gjetur të paktën një nga këta komponentë Streamlit të dobishëm.

Kjo është e gjitha për mua sot. Deri herën tjetër! 👋

I ri në Medium? Mund të abonoheni për 5 dollarë në muaj dhe të zhbllokoni artikuj të pakufizuar — kliko këtu.