# Data elements

Source: https://docs.streamlit.io/develop/api-reference/data

When you're working with data, it is extremely valuable to visualize that
data quickly, interactively, and from multiple different angles. That's what
Streamlit is actually built and optimized for.

You can display data via [charts](#display-charts), and you can display it in
raw form. These are the Streamlit commands you can use to display and interact with raw data.

**[Dataframes](https://docs.streamlit.io/develop/api-reference/data/st.dataframe)**: Display a dataframe as an interactive table.

```python
st.dataframe(my_data_frame)
```

**[Data editor](https://docs.streamlit.io/develop/api-reference/data/st.data_editor)**: Display a data editor widget.

```python
edited = st.data_editor(df, num_rows="dynamic")
```

**[Column configuration](https://docs.streamlit.io/develop/api-reference/data/st.column_config)**: Configure the display and editing behavior of dataframes and data editors.

```python
st.column_config.NumberColumn("Price (in USD)", min_value=0, format="$%d")
```

**[Static tables](https://docs.streamlit.io/develop/api-reference/data/st.table)**: Display a static table.

```python
st.table(my_data_frame)
```

**[Metrics](https://docs.streamlit.io/develop/api-reference/data/st.metric)**: Display a metric in big bold font, with an optional indicator of how the metric changed.

```python
st.metric("My metric", 42, 2)
```

**[Dicts and JSON](https://docs.streamlit.io/develop/api-reference/data/st.json)**: Display object or string as a pretty-printed JSON string.

```python
st.json(my_dict)
```
