st.dataframest.data_editor中配置一个数字列。

这是整数和浮点值的默认列类型。此命令需要在st.dataframest.data_editorcolumn_config参数中使用。当与st.data_editor一起使用时,将启用带有数字输入小部件的编辑功能。

函数签名[source]

st.column_config.NumberColumn(label=None, *, width=None, help=None, disabled=None, required=None, pinned=None, default=None, format=None, min_value=None, max_value=None, step=None)

参数

label (str or None)

显示在列顶部的标签。如果这是None(默认值),则使用列名。

宽度 ("small", "medium", "large", 或 None)

列的显示宽度。如果这是 None(默认值),列将根据单元格内容自动调整大小。否则,可以是以下之一:

  • "small": 75像素宽
  • "medium": 200像素宽
  • "large": 400像素宽

help (str or None)

一个可选的工具提示,当鼠标悬停在列标签上时会显示。如果这是 None(默认值),则不显示工具提示。

disabled (bool or None)

是否应禁用此列的编辑。如果这是None (默认),Streamlit 将决定:索引被禁用,数据列 则不被禁用。

如果列具有混合类型,无论disabled如何,它都可能变得不可编辑。

必填 (布尔值或空)

列中编辑的单元格是否需要有一个值。如果这是 False(默认),用户可以为此列提交空值。 如果这是True,则此列中编辑的单元格只有在 其值不为None时才能提交,并且新行只有在 用户填写此列后才能提交。

pinned (bool or None)

列是否被固定。一个被固定的列将始终保持在左侧可见,无论用户滚动到哪里。如果这是None (默认),Streamlit 将决定:索引列被固定,数据列不被固定。

默认值 (int, float, 或 None)

指定当用户添加新行时此列的默认值。默认值为 None

format (str or None)

一个printf风格的格式字符串,控制数字的显示方式。 这不会影响返回值。以下格式化程序是 有效的:%d, %e, %f, %g, %i, %u。您还可以添加 前缀和后缀,例如"$ %.2f"以显示美元前缀。如果 这是None(默认值),则数字不会被格式化。

来自column_config的数字格式化始终优先于 来自pandas.Styler的数字格式化。

min_value (int, float, or None)

可以输入的最小值。如果这是None(默认值),则没有最小值。

max_value (int, float, 或 None)

可以输入的最大值。如果这是 None(默认值),则没有最大值。

步长 (整数, 浮点数, 或无)

可以输入的数字的精度。如果这是 (默认),整数列将具有1的步长,浮点数列将 具有不受限制的精度。在这种情况下,一些浮点数可能显示为 整数。为浮点数列设置步长将确保即使没有设置格式,小数点后的位数也是一致的。

示例

import pandas as pd
import streamlit as st

data_df = pd.DataFrame(
    {
        "price": [20, 950, 250, 500],
    }
)

st.data_editor(
    data_df,
    column_config={
        "price": st.column_config.NumberColumn(
            "Price (in USD)",
            help="The price of the product in USD",
            min_value=0,
            max_value=1000,
            step=1,
            format="$%d",
        )
    },
    hide_index=True,
)
forum

还有问题吗?

我们的 论坛 充满了有用的信息和Streamlit专家。