使用Streamlit从简单的Python脚本创建交互式WebApp( 二 )

方法get_total_dataframe()用于获取数据框,以绘制选定状态的图 。dataset.iloc [0] [Confirmed]将返回" Confirmed"列的第一项,并且由于我们仅传递所选状态的数据,因此在" Confirmed"," Recovered"," Active"和" Deceased"列中将只有一个条目 。(检出.csv文件)
未选中"按状态显示分析"复选框,我们不会在主屏幕上看到"状态级别分析"部分 。同样,如果选中了"隐藏图形"复选框,我们将不会看到图形 。
要绘制图形,我们将使用plotly.express库的bar方法 。第一个参数是我们要绘制的数据框,第二个参数是x轴的列,第三个参数是y轴的列,如果要更改列名,则labels参数是可选的 对于图形和颜色参数,此处是根据数据框中的"状态"列对图形进行颜色编码 。
最后,为了显示该图在我们的Web应用程序中,我们使用st.plotly_chart()方法 。我们也可以使用st.write()来显示图形 。
5.显示数据框或表

使用Streamlit从简单的Python脚本创建交互式WebApp

文章插图
 
· 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 = datatable[datatable['State'] != 'State Unassigned']return datatabledatatable = get_table()st.markdown("### Covid-19 cases in India")st.markdown("The following table gives you a real-time analysis of the confirmed, active, recovered and deceased cases of Covid-19 pertaining to each state in India.")st.dataframe(datatable) # will display the dataframest.table(datatable)# will display the table在get_table()中,我们通过从选择框获得的状态的最高"已确认"情况获得排序后的数据框 。我们还会从数据集中删除状态为"未分配状态"的行 。
而已! 是的,就是这么简单 。:)
您已经准备创建自己的Web应用程序并尝试使用Streamlit 。这篇文章是关于如何使用简单的Python脚本创建Streamlit应用程序的,我希望您喜欢它 。我创建了另一本有关如何使用AWS EC2部署此Web应用程序的详细教程 。请检查一下,让我知道您的意见 。
我已经为印度的Covid-19 Impact创建了完整的Streamlit Web应用程序,并使用AWS EC2进行了部署 。您可以在这里查看它-www.corona-updates.in 。请在评论部分提供您的宝贵反馈 。谢谢 :)
(本文翻译自Nishtha Goswami的文章《Using Streamlit to create interactive WebApps from simple Python scripts》,参考:
https://medium.com/swlh/using-streamlit-to-create-interactive-webapps-from-simple-python-scripts-f78b08e486e7)

【使用Streamlit从简单的Python脚本创建交互式WebApp】


推荐阅读