datatable使⽤_使⽤Streamlit从简单的Python脚本创建交互式
WebApp
如果有⼈告诉您可以使⽤150-200⾏代码创建交互式Web应⽤程序,该怎么办? 有趣的权利。 Streamlit为您提供了使⽤简单的python脚本和⼀些streamlit调⽤来创建漂亮的Web应⽤程序的相同机会。
Streamlit是⼀个开放源代码框架,⽤于以最快的⽅式创建数据科学和机器学习应⽤程序以进⾏数据探索。 我最喜欢streamlit的地⽅是它为您提供了实时编码体验。 您可以启动流式应⽤程序,并且每次保存时,您都会看到代码同时反映在浏览器中。 整齐吧!
在这篇⽂章中,我们将为印度的Covid-19 Impact Analysis构建⼀个Streamlit Web应⽤程序。 我已经创建了完整的⽹站,您可以在这⾥浏览它-a-updates.in。 我们不会深⼊研究Pandas,但是本教程将更侧重于Streamlit。 我们将研究⼀些Pandas库函数,但将深⼊探讨Streamlit。 因此,让我们开始吧!
要求:
· Streamlit
· Pandas
· press
使⽤pip安装streamlit:
pip install streamlit
安装完成后,您可以通过运⾏⽰例应⽤程序对其进⾏测试。
streamlit hello
您可以使⽤以下命令运⾏名为app.py的流式Web应⽤程序:
streamlit run app.py
精通Streamlit之后,现在就创建我们的⽹络应⽤。 创建⼀个python⽂件app.py,然后导⼊您需要创建的库和python脚本以及streamlit。
1.导⼊数据库
我们正在使⽤以下惊⼈的API导⼊数据库,以了解Covid-19印度的影响:https://。
在这⾥,在load_data()⽅法中,我们正在使⽤pandas库读取.csv⽂件,并且通过缓存数据来提⾼代码效率。 但是随着Covid-19的数据不断变化,我们每5分钟或最多20个条⽬清除⼀次缓存。 如果您有⼀个不经常更改数据的⽤例,则只需使⽤@ st.cache(persist = True)
2.创建标题,⽂本内容和侧边菜单
Streamlit⽀持markdown,因此在我们的⽹络应⽤中使⽤不同的字体⼤⼩⾮常容易。 它还通过传递参数来⽀持HTML:
unsafe_allow_html =对st.markdown()调⽤正确,因此,我们可以按需要的⽅式设置⽂本样式。
由于我们使⽤HTML将⾃定义颜⾊设为蓝⾊,因此说明显⽰为蓝⾊。 我们也可以使⽤标头和⼦标头,就像我们将st.title()⽤于不同的标题⼀样。 或者我们可以为此使⽤markdown。
//will also give the same result as st.title()st.markdown("#  Covid-19 Impact in India")
st.sidebar.title('Select the parameters to analyze Covid-19 situation')
3.插⼊复选框,单选按钮和滑块
st.sidebar.checkbox("Show Analysis by State", True, key=1)select = st.sidebar.selectbox('Select a State',data['State'])#get the state selected in the selectb
· 复选框-复选框中的第⼀个参数定义复选框的标题,第⼆个参数定义True或False,即默认情况下是否选中它,第三个参数定义复选框的
唯⼀键。
· 选择框—此选择框包含所有印第安州。 第⼀个参数是选择框的标题,第⼆个参数定义要在选择框中填充的值的列表。 在这⾥,第⼆个参数是我们之前加载的.csv⽂件中的列名"州"。 您可以⾃⼰打开和浏览表格。 在下⼀⾏中,我们仅从选择框中获取state_data中针对所选状
态的数据条⽬。 我们也可以在此处传递关键参数。
· 单选按钮—仅供您参考,我们⽬前尚未真正在Web应⽤程序中使⽤它。 与往常⼀样,第⼀个参数是⼴播组的标题,第⼆个参数接受选项的元组。 我们也可以在此处传递关键参数。
Plotting a graph
def get_total_dataframe(dataset):    total_dataframe = pd.DataFrame({    'Status':['Confirmed', 'Active', 'Recovered', 'Deaths'],    'Number of cases':(datase
⽅法get_total_dataframe()⽤于获取数据框,以绘制选定状态的图。 dataset.iloc [0] [Confirmed]将返回" Confirmed"列的第⼀项,并且由于我们仅传递所选状态的数据,因此在" Confirmed"," Recovered"," Active"和" Deceased"列中将只有⼀个条⽬。 (检出.csv⽂件)
python怎么读取dat文件未选中"按状态显⽰分析"复选框,我们不会在主屏幕上看到"状态级别分析"部分。 同样,如果选中了"隐藏图形"复选框,我们将不会看到图形。
要绘制图形,我们将使⽤press库的bar⽅法。 第⼀个参数是我们要绘制的数据框,第⼆个参数是x轴的列,第三个参数是y轴的列,如果要更改列名,则labels参数是可选的 对于图形和颜⾊参数,此处是根据数据框中的"状态"列对图形进⾏颜⾊编码。
最后,为了显⽰该图在我们的Web应⽤程序中,我们使⽤st.plotly_chart()⽅法。 我们也可以使⽤st.write()来显⽰图形。
5.显⽰数据框或表
· st.dataframe():第⼀张图⽚是st.dataframe()的结果,⽤于第⼆张图⽚中的同⼀数据集。 您还可以使⽤内部调⽤st.datframe()的
st.write()。
· st.table():我们使⽤st.table()获得了第⼆张图⽚中的表格。 这显⽰了数据框中的所有数据,⽽没有任何滚动。
def get_table():    datatable = data[['State', 'Confirmed', 'Active', 'Recovered', 'Deaths']].sort_values(by=['Confirmed'], ascending=False)    datatable = datat
在get_table()中,我们通过从选择框获得的状态的最⾼"已确认"情况获得排序后的数据框。 我们还会从数据集中删除状态为"未分配状态"的⾏。
⽽已! 是的,就是这么简单。 :)
您已经准备创建⾃⼰的Web应⽤程序并尝试使⽤Streamlit。 这篇⽂章是关于如何使⽤简单的Python脚本创建Streamlit应⽤程序的,我希望您喜欢它。 我创建了另⼀本有关如何使⽤AWS EC2部署此Web应⽤程序的详细教程。 请检查⼀下,让我知道您的意见。
我已经为印度的Covid-19 Impact创建了完整的Streamlit Web应⽤程序,并使⽤AWS EC2进⾏了部署。 您可以在这⾥查看它-

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。