мыш
654 subscribers
38 photos
19 videos
3 files
23 links
Нескучные туториалы по Python и ML
Download Telegram
Кто уже попробовал DeepSeek?)

TL;DR это совсем недавно нашумевший китайский open-source убийца ChatGPT, чат с моделью бесплатный

Я успел с его помощью пофиксить мерзкую ошибку с установкой XGBoost. Правда по тому же запросу ChatGPT 4о тоже справилась

Приложение пока от наплыва пользователей (и как они сами пишут, DDoS атак) выкидывает рандомные ошибки
Попробовал uv - делаем видео?

Это безумно быстрый убийца PIP, Poetry, Pyenv и еще много чего.

Разработчики из Astral (авторы форматтера-линтера-все-в-одном ruff) продолжают абузить свою формулу успеха: написать новый CLI, который заменяет 5-10 других и сделать это на Rust, чтобы он работал на порядок быстрее.

Работает uv правда безумно быстро, а одна команда uv sync сразу создает виртуальное окружение, и вместе с зависимостями скачивает нужную версию интерпретатора Python, если она не установлена.

По поводу скорости - не считаю, что это особенно критично, но есть нюанс. При разработке одной настройки среды может хватить на пару месяцев (в зависимости от проекта), но вот для CI эффект может быть очень ощутимым - потенциально можете ожидать несколько секунд вместо нескольких минут на поднятие среды. А еще тут самая удобная интеграция с Docker, которую я когда либо видел.

Поддержка uv подъехала в PyCharm 2025.1 EAP. Правда настроить PyCharm в два клика так и не смог - может я тупой, может версия еще забагованная (документацию я читать не буду).
Внезапно - видео по Pandas сегодня вечером
Ролик о Pandas уже на канале

Это третье видео подряд, которое бьет рекорд по продолжительности на канале, так что следующее сделаю на чилле, оно будет по встроенным библиотекам os и shutil. А дальше скорее всего будут Uv, Streamlit и Torch.

Еще можем сделать полностью практический разбор - взять какой-нибудь набор данных и проанализировать его с помощью Pandas и Matplotlib. Или наоборот, больше поговорить - могу рассказать как искал первую работу и что учил, или как проходил интервью.

Если что-то из этого интересно или я что-то забыл, дайте знать в комментариях
Решение задачи из видео: у нас есть зарплаты salaries и премии bonuses в процентах от зарплаты. Премии есть не у всех. Нужно посчитать зарплаты с учетом премий и на сколько в среднем выросли зарплаты.


import pandas as pd

salaries = pd.Series([60.0, 45.0, 50.0], ["Маша", "Паша", "Женя"])
bonuses = pd.Series({"Маша": 2.0, "Женя": 7.0}) # (% от зарплаты)

bonuses = bonuses.reindex(salaries.index).fillna(0)
new_salaries = salaries * (1 + bonuses / 100)
print(new_salaries)
print(new_salaries.mean() - salaries.mean())
Намек про тему следующего видео
This media is not supported in your browser
VIEW IN TELEGRAM
Видео про os и shutil на следующей неделе

Скорее всего в пятницу
Последний шорт на канале неплохо так повзрывал жопы пользователям Excel

А я просто хотел забайтить народ казалось бы безобидной фразой. Теперь придется организовывать крестовый поход против оставшихся продуктов Miscrosoft
This media is not supported in your browser
VIEW IN TELEGRAM
Волшебник страны OS уже на канале

Следующее видео либо о Streamlit, либо разговорное. ML тоже будет, уже скоро
Решение задачи из видео:

Написать функцию, которая возвращает имена всех файлов в заданной папке и всех дочерних папках


import os

def listdir(root: str):
files = []
directories = []

for name in os.listdir(root):
path = os.path.join(root, name)
if os.path.isdir(path):
directories.append(path)
else:
files.append(path)

for directory in directories:
files.extend(listdir(directory))

return files
This media is not supported in your browser
VIEW IN TELEGRAM
В следующую пятницу будет видео о том, что вас ждет на первой работе в IT. Только болтовня - без кода. Раньше такого на канале не было.

Сейчас готовлю туториал о Streamlit. И скоро выложу опрос - выберем тему нового видео
Извините, но это просто золото
Так, 100 олдов на месте
(Самое время отписаться)

Спасибо вам за поддержку и активное участие в опросах, обсуждениях и вообще жизни канала, вы лучшие ❤️

P.S. Видео будет сегодня вечером
Первая работа в IT - видео уже на канале
This media is not supported in your browser
VIEW IN TELEGRAM
Видимо придется делать видео про PyTorch

Быстро не обещаю, но зато до следующей пятницы выйдет ролик про Streamlit. Получилось почти на 20 минут, надеюсь будет интересно
This media is not supported in your browser
VIEW IN TELEGRAM
Бегом откликаться на вакансии фронтендеров - разбор Streamlit уже на канале

Ниже будет еще один пост с кодом приложения из разбора
Полный код первого приложения из видео:


import streamlit as st
import requests

@st.cache_data(ttl="1 day")
def get_rates():
url = "https://open.er-api.com/v6/latest/RUB"
inverse_rates = requests.get(url).json()["rates"]
return {x: 1 / y for x, y in inverse_rates.items()}

st.title("Конвертер валют")
col1, col2 = st.columns(2)
x = col1.number_input("", min_value=0, value=1)
rates = get_rates()
currency = col2.selectbox("Валюта", list(rates))
st.success(f"{x * rates[currency]:,.2f} RUB")


А теперь что здесь происходит: делаем запрос на бесплатный API курсов валют, конвертируем ответ в словарь и забираем курсы. Каждый курс меняем на обратный, потому что API отдает курс рубля к валюте, а не валюты к рублю. Все это вынесено в функцию get_rates с декоратором st.cache, чтобы Streamlit выполнял запрос не при каждом обновлении страницы, а только при первом, и дальше раз в сутки. Ненужных запросов будет меньше, и приложение будет работать быстрее.
This media is not supported in your browser
VIEW IN TELEGRAM
Извините, давно не появлялся

Перед видео по PyTorch будет разговорное видео про ML с обзором области и задач, без математики и без кода. Надеюсь, будет интересно в целом об этом поговорить прежде чем погружаться в код. Сейчас пишу к нему сценарий.

Еще хотел узнать, какой контент вам хотелось бы тут видеть - если что-то смешное, жмите 🤡, если доп контент в тему видео, жмите 🤔 или ваши идеи в комментариях. Обещаю не спамить
This media is not supported in your browser
VIEW IN TELEGRAM
Видос по ML будет почти на 30 минут

Осталось смонтировать видеоряд, скорее всего успею до следующей пятницы. И это еще без PyTorch.

Спасибо за реакты на предыдущем посте, постараюсь начать постить тут интересный контент