tak.lol
17 январь 2025
8
0
Не нравится 0 Нравится

Библиотека Streamlit

Ты когда-нибудь задумывался, как легко можно создать веб-приложение для визуализации данных с помощью Python? Если нет, то ты в правильном месте! Сегодня мы погрузимся в мир Streamlit — библиотеки, которая делает создание интерактивных приложений проще, чем приготовить яичницу. А если ты еще не умеешь готовить яичницу, не переживай — мы разберёмся с этим тоже!



Что такое Streamlit?


Streamlit — это библиотека для создания веб-приложений на Python, которая позволяет разработчикам сосредоточиться на логике приложения, а не на сложностях веб-разработки. В отличие от других фреймворков, таких как Flask или Django, Streamlit позволяет создавать интерфейсы всего за несколько строк кода. Официальная документация



Основные функции


1. Отображение текста и заголовков
• st.title(): Создает заголовок приложения.
• st.header(): Добавляет заголовок второго уровня.
• st.subheader(): Добавляет заголовок третьего уровня.
• st.write(): Универсальная функция для отображения текста, данных, графиков и других объектов.

2. Интерактивные виджеты
• st.button(): Создает кнопку, при нажатии на которую можно выполнить действие.
• st.slider(): Создает ползунок для выбора числового значения.
• st.selectbox(): Выпадающий список для выбора одного элемента.
• st.multiselect(): Позволяет выбирать несколько элементов из списка.
• st.text_input(): Поле для ввода текста.
• st.file_uploader(): Позволяет загружать файлы (например, CSV).

3. Графики и визуализация данных
• st.line_chart(), st.bar_chart(), st.area_chart(): Быстрое создание линейных, столбчатых и областных графиков.
• st.pyplot(): Отображение графиков, созданных с помощью Matplotlib.
• st.altair_chart(): Визуализация данных с использованием библиотеки Altair.
• st.plotly_chart(): Интеграция с Plotly для создания интерактивных графиков.

4. Работа с данными
• st.dataframe(): Отображает данные в виде интерактивной таблицы.
• st.table(): Отображает данные в виде статической таблицы.

5. Состояние приложения
• st.session_state: Позволяет сохранять состояние между обновлениями приложения, что полезно для управления пользовательскими данными и взаимодействием.

6. Загрузка и сохранение данных
• st.file_uploader(): Для загрузки файлов пользователями.
• st.download_button(): Позволяет пользователям скачивать файлы.

7. Управление макетом
• st.sidebar: Создает боковую панель для размещения виджетов и управления элементами интерфейса.
• st.columns(): Позволяет создавать многостолбцовые макеты для организации контента.

8. Кэширование
• @st.cache_data и @st.cache_resource: Позволяют кэшировать результаты функций для ускорения выполнения и уменьшения нагрузки на сервер.

9. Мультимедийный контент
• st.image(): Отображает изображения.
• st.video(): Встраивает видео.
• st.audio(): Встраивает аудиофайлы.

Установка Streamlit


Перед тем как начать, тебе нужно установить Streamlit. Открой терминал и введи:


pip install streamlit

Легко, правда? Теперь ты готов к действию!



Первое приложение на Streamlit


Давай создадим простое приложение, которое отображает текст и график. Создай файл

app.py
и добавь следующий код:



import streamlit as st
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

#Заголовок приложения

st.title('Моё первое приложение на Streamlit!')

#Слайдер для выбора числа

number = st.slider('Выбери число', 0, 100, 25)

#Генерация данных

data = np.random.randn(100, 2)
df = pd.DataFrame(data, columns=['x', 'y'])

#Отображение графика

st.write(f'Вот график для числа {number}:')
plt.scatter(df['x'], df['y'])
plt.axhline(y=number, color='r', linestyle='-')
st.pyplot(plt)

Теперь запусти приложение командой

streamlit run app.py
. Откроется браузер с твоим приложением! Удивительно, как всего несколько строк кода могут создать что-то такое интерактивное.



Интерактивность — ключ к успеху


Одной из самых крутых фишек Streamlit является возможность добавлять интерактивные элементы. Например, давай добавим выпадающий список:



option = st.selectbox('Выбери свой любимый цвет:', ['Красный', 'Зелёный', 'Синий'])
st.write(f'Ты выбрал: {option}')

Этот код создаёт выпадающий список с тремя цветами. Когда пользователь выбирает цвет, он отображается на экране. Легко и весело!



Работа с данными


Streamlit отлично подходит для работы с данными. Ты можешь загружать файлы и анализировать их. Давай добавим возможность загрузки CSV-файла:



uploadedfile = st.fileuploader("Выберите CSV файл", type='csv')
if uploaded_file is not None:
    df = pd.readcsv(uploadedfile)
    st.write(df)

Теперь пользователь может загрузить свой CSV-файл, и данные будут отображены в приложении. Это как волшебство, только без шляпы!



Факты о Streamlit



  • Streamlit был создан в 2019 году и быстро завоевал популярность среди разработчиков.

  • Библиотека поддерживает интеграцию с различными библиотеками визуализации, такими как Matplotlib и Plotly.

  • С помощью Streamlit можно создавать приложения для машинного обучения без необходимости изучать фронтенд.



Заключение


Streamlit — это отличный инструмент для разработчиков, которые хотят создавать интерактивные приложения с минимальными усилиями. Теперь ты знаешь основы и можешь начать создавать свои собственные приложения. Не забудь экспериментировать и добавлять свои идеи!



И помни: если что-то пойдёт не так, всегда можно сказать "это фича, а не баг!"

Комментарии к материалу
Комментировать
Ваш комментарий: