30学会《Streamlit》是一项编码挑战,旨在帮助您开始构建Streamlit应用程序。特别是,您将能够:
-
为构建Streamlit应用程序设置编码环境
-
构建您的第一个Streamlit应用程序
-
了解用于Streamlit应用程序的所有很棒的输入/输出小部件
第4天 - st.write
st.write允许将文本和参数写入Streamlit应用程序。
除了能够显示文本外,还可以通过st.write()命令显示以下内容:
-
打印字符串;工作方式类似于st.markdown()
-
显示Python中的dict
-
将pandas显示为表格
-
来自matplotlib、plotly、altair、graphviz、bokeh的各类图形
-
以及更多(参见API文档上的st.write:https://docs.streamlit.io/library/api-reference/write-magic/st.write)
我们在建立什么
一个简单的应用程序,展示了如何使用st.write()命令显示文本、数字、数据帧和绘图的各种方法。
演示应用程序
已部署的Streamlit应用程序应与以下链接中所示的类似:
https://share.streamlit.io/dataprofessor/st.write/
代码
下面是实现上述应用程序的代码:
import numpy as np
import altair as alt
import pandas as pd
import streamlit as st
st.header('st.write')
# Example 1
st.write('Hello, *World!* :sunglasses:')
# Example 2
st.write(1234)
# Example 3
df = pd.DataFrame({
'first column': [1, 2, 3, 4],
'second column': [10, 20, 30, 40]
})
st.write(df)
# Example 4
st.write('Below is a DataFrame:', df, 'Above is a dataframe.')
# Example 5
df2 = pd.DataFrame(
np.random.randn(200, 3),
columns=['a', 'b', 'c'])
c = alt.Chart(df2).mark_circle().encode(
x='a', y='b', size='c', color='c', tooltip=['a', 'b', 'c'])
st.write(c)
逐行解释
创建Streamlit应用程序时要做的第一件事是首先导入Streamlit库,作为st,如下所示:
import streamlit as st
然后为应用程序创建标题文本:
st.header('st.write')
示例1:其基本用例是显示文本和Markdown格式的文本:
st.write('Hello, *World!* :sunglasses:')
示例2:如上所述,它还可以用于显示其他数据格式,例如数字:
st.write(1234)
示例3:DataFrames也可以显示如下:
df = pd.DataFrame({
'first column': [1, 2, 3, 4],
'second column': [10, 20, 30, 40]
})
st.write(df)
示例4:可以传入多个参数:
st.write('Below is a DataFrame:', df, 'Above is a dataframe.')
示例5:最后,您还可以通过将其传递给变量来显示绘图,如下所示:
df2 = pd.DataFrame(
np.random.randn(200, 3),
columns=['a', 'b', 'c'])
c = alt.Chart(df2).mark_circle().encode(
x='a', y='b', size='c', color='c', tooltip=['a', 'b', 'c'])
st.write(c)
接下来的步骤
现在您已经在本地创建了Streamlit应用程序,现在是将其部署到Streamlit社区云的时候了,这将在即将到来的挑战中进行解释。
因为这是你挑战的第一周,我们在这个网页中提供了完整的代码(如上面的代码框所示)和解决方案(演示应用程序)。
在接下来的挑战中,建议您首先尝试自己实施Streamlit应用程序。
如果你陷入困境,不要担心,你可以随时查看解决方案。
参考
除了st.write,您还可以探索其他显示文本的方法:
-
st.markdown
-
st.header
-
st.subheader
-
st.caption
-
st.text
-
st.latex
-
st.code
https://docs.streamlit.io/library/api-reference/text
加油吧,测试人!如果你需要提升规划,那就行动吧,在路上总比在起点观望的要好。未来的你肯定会感谢现在拼命的自己!