郴州网站定制,个人主机做网站,2022最新装修效果图,手机端网站建设方案如果有人告诉您可以使用150-200行代码创建交互式Web应用程序#xff0c;该怎么办#xff1f; 有趣的权利。 Streamlit为您提供了使用简单的python脚本和一些streamlit调用来创建漂亮的Web应用程序的相同机会。Streamlit是一个开放源代码框架#xff0c;用于以最快的方式创建…如果有人告诉您可以使用150-200行代码创建交互式Web应用程序该怎么办 有趣的权利。 Streamlit为您提供了使用简单的python脚本和一些streamlit调用来创建漂亮的Web应用程序的相同机会。Streamlit是一个开放源代码框架用于以最快的方式创建数据科学和机器学习应用程序以进行数据探索。 我最喜欢streamlit的地方是它为您提供了实时编码体验。 您可以启动流式应用程序并且每次保存时您都会看到代码同时反映在浏览器中。 整齐吧在这篇文章中我们将为印度的Covid-19 Impact Analysis构建一个Streamlit Web应用程序。 我已经创建了完整的网站您可以在这里浏览它-www.corona-updates.in。 我们不会深入研究Pandas但是本教程将更侧重于Streamlit。 我们将研究一些Pandas库函数但将深入探讨Streamlit。 因此让我们开始吧要求· Streamlit· Pandas· plotly.express使用pip安装streamlitpip install streamlit安装完成后您可以通过运行示例应用程序对其进行测试。streamlit hello您可以使用以下命令运行名为app.py的流式Web应用程序streamlit run app.py精通Streamlit之后现在就创建我们的网络应用。 创建一个python文件app.py然后导入您需要创建的库和python脚本以及streamlit。1.导入数据库我们正在使用以下惊人的API导入数据库以了解Covid-19印度的影响https//api.covid19india.org。在这里在load_data()方法中我们正在使用pandas库读取.csv文件并且通过缓存数据来提高代码效率。 但是随着Covid-19的数据不断变化我们每5分钟或最多20个条目清除一次缓存。 如果您有一个不经常更改数据的用例则只需使用 st.cache(persist True)2.创建标题文本内容和侧边菜单Streamlit支持markdown因此在我们的网络应用中使用不同的字体大小非常容易。 它还通过传递参数来支持HTMLunsafe_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, key1)select st.sidebar.selectbox(Select a State,data[State])#get the state selected in the selectboxstate_data data[data[State] select]select_status st.sidebar.radio(Covid-19 patients status, (Confirmed,Active, Recovered, Deceased))· 复选框-复选框中的第一个参数定义复选框的标题第二个参数定义True或False即默认情况下是否选中它第三个参数定义复选框的唯一键。· 选择框—此选择框包含所有印第安州。 第一个参数是选择框的标题第二个参数定义要在选择框中填充的值的列表。 在这里第二个参数是我们之前加载的.csv文件中的列名州。 您可以自己打开和浏览表格。 在下一行中我们仅从选择框中获取state_data中针对所选状态的数据条目。 我们也可以在此处传递关键参数。· 单选按钮—仅供您参考我们目前尚未真正在Web应用程序中使用它。 与往常一样第一个参数是广播组的标题第二个参数接受选项的元组。 我们也可以在此处传递关键参数。Plotting a graphdef get_total_dataframe(dataset): total_dataframe pd.DataFrame({ Status:[Confirmed, Active, Recovered, Deaths], Number of cases:(dataset.iloc[0][Confirmed], dataset.iloc[0][Active], dataset.iloc[0][Recovered], dataset.iloc[0][Deaths])}) return total_dataframestate_total get_total_dataframe(state_data)if st.sidebar.checkbox(Show Analysis by State, True, key2): st.markdown(## **State level analysis**) st.markdown(### Overall Confirmed, Active, Recovered and Deceased cases in %s yet % (select)) if not st.checkbox(Hide Graph, False, key1): state_total_graph px.bar( state_total, xStatus, yNumber of cases, labels{Number of cases:Number of cases in %s % (select)}, colorStatus) st.plotly_chart(state_total_graph)方法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.显示数据框或表· 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], ascendingFalse) 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)