fa
Feedback
Python RU

Python RU

رفتن به کانال در Telegram

Все для python разработчиков админ - @haarrp @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j

نمایش بیشتر

📈 تحلیل کانال تلگرام Python RU

کانال Python RU (@pro_python_code) در بخش زبانی روسی بازیگری فعال است. در حال حاضر جامعه شامل 12 379 مشترک است و جایگاه 9 838 را در دسته فناوری و برنامه‌ها و رتبه 52 007 را در منطقه روسيا دارد.

📊 شاخص‌های مخاطب و پویایی

از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 12 379 مشترک جذب کرده است.

بر اساس آخرین داده‌ها در تاریخ 31 اوت, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر -42 و در ۲۴ ساعت گذشته برابر 4 بوده و همچنان دسترسی گسترده‌ای حفظ شده است.

  • وضعیت تأیید: تأیید نشده
  • نرخ تعامل (ER): میانگین تعامل مخاطب 7.71% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 3.26% واکنش نسبت به کل مشترکان کسب می‌کند.
  • دسترسی پست‌ها: هر پست به طور میانگین 955 بازدید دریافت می‌کند. در اولین روز معمولاً 403 بازدید جمع‌آوری می‌شود.
  • واکنش‌ها و تعامل: مخاطبان به‌طور فعال حمایت می‌کنند؛ میانگین واکنش به هر پست 6 است.
  • علایق موضوعی: محتوا بر موضوعات کلیدی مانند api, docker, github, sql, linux تمرکز دارد.

📝 توضیح و سیاست محتوایی

نویسنده این فضا را محل بیان دیدگاه‌های شخصی توصیف می‌کند:
Все для python разработчиков админ - @haarrp @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j

به لطف به‌روزرسانی‌های پرتکرار (آخرین داده در تاریخ 01 سپتامبر, 2026)، کانال همواره به‌روز و دارای دسترسی بالاست. تحلیل‌ها نشان می‌دهد مخاطبان به‌طور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته فناوری و برنامه‌ها تبدیل کرده‌اند.

12 381
مشترکین
+424 ساعت
-157 روز
-4230 روز
آرشیو پست ها
Python RU
12 379
🖥 Необычные фишки Python. 1. Есть оператор “else”, но нет “if” В Python можно использовать оператор “else” без “if”. leaders = ["Elon", "Tim", "Warren"] for i in leaders: if i == "Yang": print("Yang is a leader!") break else: print("Not found Yang!") 2. Изменение неизменяемого кортежа tp = ([1, 2, 3], 4, 5) tp[0].append(4) print(tp) # ([1, 2, 3, 4], 4, 5) Это происходит потому, что изменяемость вложенных объектов Python зависит от каждого объекта. tp  —  неизменяемый кортеж, но первый элемент tp  —  список, который является изменяемым. 3. 256 — это 256, но 257 — не 257 Иногда результаты при проверке на равенство чисел в Python могут удивить: >>> a=256 >>> b=256 >>> a is b True >>> x=257 >>> y=257 >>> x is y False Для экономии времени и затрат памяти Python предварительно загружает все малые целые числа в диапазоне [-5, 256]. Поэтому, когда объявляется целое число в этом диапазоне, Python просто ссылается на кэшированное целое число и не создает новый объект. a и b  —  один и тот же объект, но x и y  —  два разных объекта. Чтобы убедиться в этом, выведем id каждой переменной: >>> id(a) 1696073345424 >>> id(b) 1696073345424 >>> id(x) 1696122928496 >>> id(y) 1696122928752 Этот механизм называется интернированием целых чисел или кэшированием целых чисел. Но что выведет следующий код? Снова False? >>> 257 is 257 Python всегда старается сделать все возможное, чтобы сохранить ясность. Поскольку две переменные не были определены отдельно, Python получит достаточно контекста в рамках однострочной команды и на этот раз выведет True. 4. Интернирование строк Подобно механизму интернирования целых чисел, Python также кэширует строки небольшого размера для экономии вычислительных ресурсов. Рассмотрим пример: >>> a = "Yang" >>> b = "Yang" >>> a is b True >>> c = "Yang Zhou" >>> d = "Yang Zhou" >>> c is d False Для приведенного выше примера был использован CPython с алгоритмом кэширования AST optimizer. Этот алгоритм может кэшировать до 4096 символов, но строки, включающие пробелы, не будут интернированы. 5. 0,1+0,2 — это не 0,3 Все знают, что 0,1+0,2 равно 0,3, но Python так не считает: print(0.1+0.2==0.3) # False Каков же результат вычисления 0,1+0,2 в Python, если не 0,3? print(0.1+0.2) # 0.30000000000000004 По правде говоря, это не вина Python. Ни один компьютер не может точно вычислить плавающее значение. 6. “+=” быстрее, чем “=” При конкатенации строк в Python операторы += и + могут дать один и тот же результат, но с разными временными затратами: import timeit print(timeit.timeit("s1 = s1 + s2 + s3", setup="s1 = ' ' * 100000; s2 = ' ' * 100000; s3 = ' ' * 100000", number=100)) # 0.7268792000000001 print(timeit.timeit("s1 += s2 + s3", setup="s1 = ' ' * 100000; s2 = ' ' * 100000; s3 = ' ' * 100000", number=100)) # 0.3451913999999999 При конкатенации более двух строк в Python оператор += быстрее, чем +. Поскольку +=  —  это операция in-place (на месте), время на создание нового объекта будет сэкономлено по сравнению с операцией +. 7. Три точки Если вам потребуется заполнитель для Python-функции, вы, скорее всего, воспользуетесь ключевым словом pass: def my_func(): pass Но есть и другой способ сделать это: def my_func(): ... 8. Оператор “with” Ни в одном другом языке программирования нет такого оператора, поэтому он удивляет начинающих в Python. with open("test.txt",'w') as f: f.write("Yang is writing!") Оператор “with”  —  это синтаксический сахар для управления контекстом. Используя его, вы можете не прописывать явно функцию close() для закрытия файла, поскольку он будет закрыт автоматически после использования. 9. Префиксные операторы * и ** При чтении проектов Python с открытым исходным кодом вам, вероятно, неоднократно встречался следующий стиль определения функции: def func(*args, **kwargs): pass Что означают эти странные звездочки? Параметр с префиксом * может собрать любое количество позиционных аргументов в tuple. C помощью звездочек можно производить распаковку итерируемых переменных @pro_python_code

Python RU
12 379
🗣Создаем проект по распознаванию речи в Python Распознавание речи – это технология, позволяющая преобразовывать человеческую речь в цифровой текст. В этом руководстве вы узнаете, как выполнить автоматическое распознавание речи с помощью Python. В этом практическом руководстве, вы научитесь использовать: ▪Библиотека SpeechRecognition: Эта библиотека содержит несколько движков и API, как онлайн, так и офлайн. Мы будем использовать Google Speech Recognition, так как он быстрее запускается и не требует ключа API. У нас есть отдельный учебник по этому вопросу. ▪API Whisper: Whisper – это надежная модель распознавания речи общего назначения, выпущенная OpenAI. API стал доступен 1 марта 2023 года. Мы будем использовать API OpenAI для распознавания речи. ▪Работать с Whisper, которая имеет открытый исходный код. Поэтому мы можем напрямую использовать наши вычислительные ресурсы для выполнения ASR. У нас будет гибкость и возможность выбора, какой размер модели Whisper использовать. 📌 Читать @pro_python_code

Python RU
12 379
выстроить программу и усердно заниматься. Упорство зависит от вас, а о качестве материалов позаботилась команда Яндекс Практи
выстроить программу и усердно заниматься. Упорство зависит от вас, а о качестве материалов позаботилась команда Яндекс Практикума. — Программа основана на реальных требованиях работодателей к младшим специалистам. — Интерактивный тренажёр помогает освоить теорию и закрепить её в тестах. — Практика идёт на учебных проектах для портфолио: от чат-бота и сайта-отзовика до соцсети и многофункционального сервиса. А ещё на курсе много работы с опытными специалистами: — наставники-разработчики разбирают сложные темы на живых вебинарах. — код-ревьюеры проверяют проекты и подсказывают, как их улучшить. — кураторы помогают с организацией и расписанием. — карьерный центр учит работать с резюме, мотивационными письмами, портфолио и собеседованиями. Пройдите первый бесплатный урок →

Python RU
12 379
10 проектов Python для оттачивания навыков Python, универсальный и широко используемый язык программирования, предоставляет р
10 проектов Python для оттачивания навыков Python, универсальный и широко используемый язык программирования, предоставляет разработчикам уникальное сочетание мощности и простоты. В этой статье мы рассмотрим десять программ Python, которые демонстрируют возможности языка и то, как Python упрощает написание кода сложных задач. Читать @pro_python_code

Python RU
12 379
🔥Хотите стать одним из авторов проектов, которые меняют жизнь людей к лучшему в области автоматизации предприятий, медицины,
🔥Хотите стать одним из авторов проектов, которые меняют жизнь людей к лучшему в области автоматизации предприятий, медицины, робототехники, виртуальной реальности и других сферах, или стать руководителем отдела Computer Vision в вашей компании? Все это возможно после прохождения обучения на курсе “Компьютерное зрение” в OTUS. Сейчас открыт набор в группу. Приходите 29 июня в 20:00 мск на открытый урок «PyTorch 2.0», чтобы познакомиться с преподавателем и программой курса, оценить все перспективы, которые откроются перед вами. На занятии мы также обсудим, что нового принес фреймворк PyTorch 2.0 в сферу компьютерного зрения и глубокого обучения. 📌Вы узнаете: - Как начать использовать PyTorch для обучения своих нейронных сетей - Что нового в PyTorch 2.0 и чем он отличается от 1.x - Как ускорить и оптимизировать свою нейросеть при помощи одной строчки кода - Как перейти с PyTorch 1.x на 2.0 - Как ускорить трансформеры HuggingFace при помощи PyTorch Transformer API 👉🏻Для участия отправьте заявку https://otus.pw/dGLn/ Кому подходит этот урок: - Начинающим и опытным специалистам в области компьютерного зрения и глубокого обучения - Дата сайентистам, которые хотят ускорить инференс своих моделей - Опытным специалистам, которые еще не перешли на PyTorch 2.0 - Тем, кто хочет познакомиться с фреймворков PyTorch и начать обучать свои нейросети Нативная интеграция подробная информация о продукте www.otus.ru

Python RU
12 379
Как ускорить ваш код на Python Python — это универсальный язык программирования, который широко используется в различных обла
Как ускорить ваш код на Python Python — это универсальный язык программирования, который широко используется в различных областях, таких как веб-разработка, анализ данных, машинное обучение и искусственный интеллект. Одной из основных причин его популярности является простота и удобочитаемость, что облегчает разработчикам написание и понимание кода. Однако одним из недостатков Python является его производительность, которая относительно ниже по сравнению с другими языками программирования, такими как C или Java. Поэтому очень важно писать эффективный код для обеспечения оптимальной производительности. В этой статье мы рассмотрим некоторые советы и рекомендации о том, как писать более качественный и эффективный код на Python. Эти методы могут помочь вам оптимизировать код, сократить время его выполнения и улучшить его общее состояние. Давайте начинать! Читать @pro_python_code

Python RU
12 379
🖨Как построить сканер SQL-инъекций на Python SQL-инъекция – это техника инъекции кода, которая используется для выполнения SQL-запросов через данные, вводимые пользователем в уязвимое веб-приложение. Это одна из самых распространенных и опасных техник взлома веб-приложений. ▪Установим необходимые библиотеки для этого урока: pip3 install requests bs4 ▪Импортируем необходимые модули: import requests from bs4 import BeautifulSoup as bs from urllib.parse import urljoin from pprint import pprint # initialize an HTTP session & set the browser s = requests.Session() s.headers["User-Agent"] = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36" Мы также инициализировали сессию запросов и установили пользовательский агент. ▪Поскольку SQL-инъекция – это все о пользовательском вводе, нам нужно будет сначала извлечь веб-формы. Нам понадобятся следующие функции: def get_all_forms(url): """Given a `url`, it returns all forms from the HTML content""" soup = bs(s.get(url).content, "html.parser") return soup.find_all("form") def get_form_details(form): """ This function extracts all possible useful information about an HTML `form` """ details = {} # get the form action (target url) try: action = form.attrs.get("action").lower() except: action = None # get the form method (POST, GET, etc.) method = form.attrs.get("method", "get").lower() # get all the input details such as type and name inputs = [] for input_tag in form.find_all("input"): input_type = input_tag.attrs.get("type", "text") input_name = input_tag.attrs.get("name") input_value = input_tag.attrs.get("value", "") inputs.append({"type": input_type, "name": input_name, "value": input_value}) # put everything to the resulting dictionary details["action"] = action details["method"] = method details["inputs"] = inputs return details Функция get_all_forms() использует библиотеку BeautifulSoup для извлечения всех тегов формы из HTML и возвращает их в виде списка Python, а функция get_form_details() получает в качестве аргумента один объект тега формы и разбирает полезную информацию о форме, такую как действие (целевой URL), метод (GET, POST и т.д.) и все атрибуты поля ввода (тип, имя и значение). ▪Далее мы определяем функцию, которая сообщает нам, есть ли на веб-странице ошибки SQL, это будет удобно при проверке на уязвимость SQL-инъекции: ▪Продолжение @pro_python_code

Python RU
12 379
Python meetup (Online) 1. Методы защиты кластера Hadoop в большой ML команде — Мария Изофатова / Мегафон (Мегатех) Из этого д
Python meetup (Online) 1. Методы защиты кластера Hadoop в большой ML команде — Мария Изофатова / Мегафон (Мегатех) Из этого доклада слушатели узнают способы борьбы с уязвимостями кластера hadoop: репартиционирование (проблема мелких файлов), автоочищение таблиц на кластере, настройка конфигурации pyspark, анализ запущенных spark application и внутреннего кода. 2. Feature engineering для пространственных данных — Александр Мещеряков / Сinimex В этом видео мы обсудим как получить нужные данные и погрузимся в анализ формы объектов, взаимного отношения геометрий и паттернов их расположения. 3. Как мы предсказывали платежи в мобильных играх — Дмитрий Савостьянов / Artifactory В рамках доклада я расскажу о дизайне системы предсказания платежей в мобильных играх. Акцент будет сделан на Data Engineering, MLOps и мониторинг ➖➖➖ 🗓 28 июня, начало в 19:00 мск, Среда 🌐 ОНЛАЙН 🚀 Наш телеграмм канал с анонсами митапов Регистрация на мероприятие

Python RU
12 379
🖥 Полезные приемы с кодом для аналитиков данных на Python 1. Python itertools groupby удобный способ группировки - https://www.youtube.com/watch?v=Rt1gl4fM62k 2. Полезные приемы в Pandas - https://www.youtube.com/watch?v=Sd2S5rXe8sY&t=165s 3. Раскройте потенциал Python Numpy: руководство для начинающих в науке о данных - https://www.youtube.com/watch?v=XX2XremQ0fg&t=12s 4. Data science c Python.Ускоряем Pandas в 120 раз- https://www.youtube.com/watch?v=-dAdaEv23vk&t=4s 5. 26 практических приёмов и хитростей Python - https://www.youtube.com/watch?v=vAMyfvtxxdQ&t=5s 6. 5 декораторов Python для Data Science проектов - https://www.youtube.com/watch?v=rxq11WHAlqU 7. ChatGPT + Midjouney на практике - https://www.youtube.com/watch?v=2gUqbc3Ikmo&t=5s 8. Разбор вопросов с собеседований Python - https://www.youtube.com/watch?v=4L1e-A3AOL4&t=5s 9. 15 полезных лайфхаков с кодом Машинного обучения на Python - https://www.youtube.com/watch?v=loOtlwcdiBA&t=4s 10. Декораторы Python, которые выведут ваш код на новый уровень - https://www.youtube.com/watch?v=qxrGAogl4iM 11. 7 инструментов Python, который должен знать каждый специалист машинного обучения - https://www.youtube.com/watch?v=RGEftBi0C9Y 12. Как загружать данные в SQL в 20 раз быстрее на Python - https://www.youtube.com/watch?v=eyeR1uWLnpM&t=2s 13. Data Science. Полезные советы по библиотеке Pandas - https://www.youtube.com/watch?v=neXc5Q-AWXY&t=3s 14. Data Science. Полезные советы по библиотеке Pandas - https://www.youtube.com/watch?v=neXc5Q-AWXY&t=3s 15. Дзен Python ООП: лучшие практики и шаблоны проектирования Python - https://www.youtube.com/watch?v=_MtX6QFJBRU 16. Python itertools. Хитрый способ избежать вложенных циклов - https://www.youtube.com/watch?v=TSvjYKIY01I&t=3s 17. Python. Генерация списка, словаря или множества в одну строку кода - https://www.youtube.com/watch?v=zS3HePvtxVc&t=10s 18. 8 крутых способов свести функции Python в одну строку - https://www.youtube.com/watch?v=jo3Q-rMggXk 19. Python itertools.compress. Удобный способ фильтрации данных - https://www.youtube.com/watch?v=8JGHID-_ApU&t=12s 20. Python Match/Case - https://www.youtube.com/watch?v=U_-NIKbKakM 21. Data Science. Советы по написанию эффективного кода на Python - https://www.youtube.com/watch?v=1Mcy-uatp_c&t=14s 🎞 Все видео по анализу данных @pro_python_code

Python RU
12 379
🐍 Курс «Основы программирования на Python» Старт: 3 июля Продолжительность: 2 месяца Курс с полного нуля, начальные знания н
🐍 Курс «Основы программирования на Python» Старт: 3 июля Продолжительность: 2 месяца Курс с полного нуля, начальные знания не нужны! Идеально подойдет новичкам в сфере IT, желающим освоить один из самых популярных языков программирования в мире!  Он охватывает все основные концепции Python, начиная от базовых операций и структур данных, таких как списки и словари, заканчивая более сложными темами - функции, модули и обработка исключений. 🎓 В ходе обучения вы научитесь: — Писать прикладные программы на Python — Разрабатывать приложения для работы с файлами — Работать с регулярными выражениями — Применять условные операторы — Создавать программы с использованием циклов и функций — Работать с модулями и библиотеками— Форматировать вывод данных — Обрабатывать исключения 🏆 Выдаём сертификат при успешной сдаче экзамена 📌 Узнать подробнее о курсе

Python RU
12 379
Python itertools.compress. Удобный способ фильтрации данных ▪Видео @pro_python_code
Python itertools.compress. Удобный способ фильтрации данныхВидео @pro_python_code

Python RU
12 379
8 крутых способов свести функции Python в одну строку 📌 Видео @pro_python_code
8 крутых способов свести функции Python в одну строку 📌 Видео @pro_python_code

Python RU
12 379
20 полезных однострочников на Python. 1. Поменять местами две переменные: `` a, b = b, a ``` 2. Найти максимальное или минимальное значение в списке: max_value = max(lst) min_value = min(lst) 3. Найти индекс максимального или минимального значения в списке: max_index = lst.index(max(lst)) min_index = lst.index(min(lst)) 4. Конкатенация списка строк: concatenated_string = ''.join(lst) 5. Подсчет вхождений элемента в список: count = lst.count(item) 6. Переворачиваем строку: reversed_string = string[::-1] 7. Преобразование строки в список символов: char_list = list(string) 8. Сортировка списка в порядке убывания: sorted_list = sorted(lst, reverse=True) 9. Удаление дубликатов из списка: unique_list = list(set(lst)) 10. Вычислить сумму списка чисел: total = sum(lst) 11. Проверить, все ли элементы списка удовлетворяют условию: all_true = all(item > 0 for item in lst) 12. Проверьте, удовлетворяет ли условию любой элемент списка: any_true = any(item > 0 for item in lst) 13. Фильтр списка на основе условия filtered_list = [item for item in lst if condition] 14. Получение последнего элемента списка: element_counts = {item: lst.count(item) for item in set(lst)} 15. Получение уникальных элементов и их количества в списке: element_counts = {item: lst.count(item) for item in set(lst)} 16. Сжимаем вложенный список: flattened_list = [item for sublist in nested_list for item in sublist] ``` 17. Найдите факториал числа: factorial = 1 if num == 0 else num * factorial(num - 1) 18. Проверить, является ли строка палиндромом: is_palindrome = string == string[::-1] ``` 19. Преобразование списка в строку, разделенную запятым: csv_string = ','.join(map(str, lst)) 20. Получение расширения файла file_extension = os.path.splitext(filename)[1]

Python RU
12 379
Модель SQLAlchemy с базой данных SQL Server в Python В этой статье я покажу вам, как создать модель на основе существующей ба
Модель SQLAlchemy с базой данных SQL Server в Python В этой статье я покажу вам, как создать модель на основе существующей базы данных SQL Server, используя ту же файловую структуру, чтобы сохранить организованность нашего проекта. Это означает, что каждый класс и модель базы данных будут храниться в отдельном файле. ▪ Читать @pro_python_code

Python RU
12 379
🧑‍💻 38 языков программирования. Я попробовал их все! В этой статье мне бы хотелось поделиться с вами своим опыт знакомства
🧑‍💻 38 языков программирования. Я попробовал их все! В этой статье мне бы хотелось поделиться с вами своим опыт знакомства с более чем 30 языками программирования. Я надеюсь, что, ознакомившись с данным пособием, вы узнаете что-то новое и сможете выбрать язык программирования для собственных целей. ▪ Читать @pro_python_code

Python RU
12 379
Python itertools. Хитрый способ избежать вложенных циклов https://www.youtube.com/watch?v=TSvjYKIY01I&t=24s @pro_python_code
Python itertools. Хитрый способ избежать вложенных циклов https://www.youtube.com/watch?v=TSvjYKIY01I&t=24s @pro_python_code

Python RU
12 379
PyGame: учебник по программированию игр на Python Когда я начал изучать компьютерное программирование в конце прошлого тысяче
PyGame: учебник по программированию игр на Python Когда я начал изучать компьютерное программирование в конце прошлого тысячелетия, это было вызвано моим желанием писать компьютерные игры. Я пытался понять, как писать игры на каждом языке и на каждой платформе, которую я изучил, включая Python. Так я обнаружил pygame и научился использовать его для написания игр и других графических программ. В этой статье вы сможете самостоятельно реализовать свою первую игру, опираясь на данное руководство! Читать @pro_python_code

Python RU
12 379
9 скриптов автоматизации Python для решения проблем В нашей повседневной работе нам нужно выполнять некоторые скучные и повто
9 скриптов автоматизации Python для решения проблем В нашей повседневной работе нам нужно выполнять некоторые скучные и повторяющиеся задачи, такие как копирование файлов, перемещение файлов, отправка Gmail, создание резервных копий, перевод текста и многое другое, но теперь вы можете автоматизировать их и сэкономить большую часть своего драгоценного времени. В этой статье я покажу вам 9 скриптов Python для автоматизации задач. Читать @pro_python_code

Python RU
12 379
🖥 Быстрый веб-скрейпинг с библиотекой Polars Polars — это библиотека Python для работы с датафреймами, по скорости превосходящая Pandas. Как и Pandas, Polars можно использовать для парсинга сайтов. С ее помощью можно читать любые CSV-файлы, опубликованные на сайте, и даже извлекать таблицы из HTML-страниц. Однако в настоящее время в Polars нет функции .read_html, как в Pandas. Поэтому я покажу обходной путь, позволяющий превратить таблицы с HTML-страниц в Polars-датафреймы. Скрейпинг нескольких CSV-файлов с использованием Polars Не скачивайте по одному CSV-файлы, загруженные на сайт, а прочитайте их с помощью Polars. Для этого нужно получить ссылку на файлы и использовать .read_csv. Мы используем сайт Football-Data, который предоставляет исторические данные о футбольных матчах высших лиг всего мира. Проведем скрейпинг CSV-файла из Premier League (Премьер-лига). Чтобы CSV-файл “Премьер-лига” оказался в списке сверху, нужно сначала получить его ссылку. Для этого наведите курсор на CSV-файл и нажмите “Copy Link Address” (“Копировать адрес ссылки”). Получаем такую ссылку. Теперь прочитаем ее с Polars. import polars as pl pl.read_csv('https://www.football-data.co.uk/mmz4281/2122/E0.csv') Получаем датафрейм Polars со всеми данными: Но это только CSV-файл с данными Премьер-лиги. Чтобы получить файлы с данными других лиг, таких как Championship (Чемпионат), League 1 (Лига 1) и League 2 (Лига 2), нужно добавить цикл for. Вот как это сделать: import polars as pl leagues = ['E0', 'E1', 'E2', 'E3', 'EC'] # список лиг frames = [] for league in leagues: df = pd.read_csv(root + "2122" + "/" + league + ".csv") frames.append(df) Приведенный выше цикл извлечет CSV-файлы из всех соревнований в сезоне 21/22. Список leagues содержит идентификатор каждой лиги. Например, “E0” означает Премьер-лигу. Те же шаги можно выполнить для извлечения файлов из нескольких сезонов. Теперь посмотрим, как извлекать данные из таблиц на HTML-страницах. Скрейпинг HTML-страниц с Polars (обходной путь) Polars нет функции .read_html, которая позволяла бы легко извлекать таблицы из HTML-страниц. Однако есть обходной путь, который поможет превратить таблицы из HTML-страниц в Polars-датафреймы. Для этого в дополнение к Polars нужно установить следующие библиотеки: !pip install pandas !pip install lxml !pip install pyarrow Pandas и lxml помогут извлечь данные, а pyarrow понадобится для превращения Pandas-датафрейма в Polars-датафрейм. Извлечем табличные данные из статьи Википедии “List of The Simpsons episodes (seasons 1–20) (“Список эпизодов “Симпсонов”, сезоны 1–20”): Сначала используем .read_html Pandas для извлечения таблиц из Википедии: import pandas as pd my_list = pd.read_html('https://en.wikipedia.org/wiki/List_of_The_Simpsons_episodes_(seasons_1%E2%80%9320)') my_list содержит список датафреймов. Каждый датафрейм — это таблица со страницы Википедии. Выберем случайную таблицу и назовем ее pandas_df. pandas_df = my_list[5] Теперь нужно использовать .from_pandas, чтобы превратить Pandas-датафрейм в Polars-датафрейм. polars_df = pl.from_pandas(pandas_df) Теперь у нас есть Polars-датафрейм со всеми собранными данными. Чтобы превратить все Pandas-датафреймы из my_list в Polars-датафреймы, можно использовать списковое включение. my_new_list = [pl.from_pandas(pandas_df) for pandas_df in my_list] Вот и все! Теперь вы можете пользоваться всеми преимуществами Polars! Чтобы узнать больше о Polars, ознакомьтесь с официальной документацией или посмотрите полное руководство по Polars. @pro_python_code

Python RU
12 379
🔥 5 примеров использования Redis с кодом на Python 1. Caching Redis можно использовать для кэширования часто используемых данных, снижая нагрузку на ваше основное хранилище данных. Вот пример того, как реализовать кэширование с помощью Redis в Python import redis # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def get_data_from_cache(key): # Check if data exists in the cache if r.exists(key): # Retrieve data from the cache data = r.get(key) return data.decode('utf-8') # Convert bytes to string else: # Fetch data from the primary data source data = fetch_data_from_source() # Store data in the cache with a timeout of 1 hour r.setex(key, 3600, data) return data 2. Pub/Sub (Publish/Subscribe): Redis поддерживает паттерн pub/sub, позволяя вам создавать системы обмена сообщениями. Вот пример: import redis import time # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def publish_message(channel, message): # Publish a message to the specified channel r.publish(channel, message) def subscribe_channel(channel): # Subscribe to a channel and process incoming messages pubsub = r.pubsub() pubsub.subscribe(channel) for message in pubsub.listen(): print(message['data'].decode('utf-8')) # Process the received message 3. Rate Limiting: Redis можно использовать для реализации ограничения скорости, чтобы контролировать количество запросов или операций за период времени. Пример: import redis # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def check_rate_limit(ip_address): # Increment the request count for the IP address request_count = r.incr(ip_address) # If the count exceeds the limit (e.g., 100 requests per minute), deny the request if request_count > 100: return False return True 4. Session Storage: Redis можно использовать для хранения данных сеанса в веб-приложениях. Пример: import redis import uuid # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def create_session(user_id): # Generate a unique session ID session_id = str(uuid.uuid4()) # Store the session data in Redis with a timeout of 30 minutes r.setex(session_id, 1800, user_id) return session_id def get_user_id_from_session(session_id): # Retrieve the user ID from the session data in Redis user_id = r.get(session_id) if user_id is not None: return user_id.decode('utf-8') # Convert bytes to string else: return None 5. Leaderboard: Redis можно использовать для создания таблиц лидеров или рейтингов на основе набранных баллов. Пример: import redis # Connect to Redis r = redis.Redis(host='localhost', port=6379, db=0) def update_score(player_id, score): # Update the score of a player r.zadd('leaderboard', {player_id: score}) def get_leaderboard(): # Get the top 10 players from the leaderboard leaderboard = r.zrevrange('leaderboard', 0, 9, withscores=True) for player, score in leaderboard: print(f"Player: {player.decode('utf-8')}, Score: {score}") Это лишь несколько примеров того, как Redis можно использовать в Python. Redis предоставляет множество других мощных функций и структур данных, которые можно использовать в различных приложениях. ▪Github @pro_python_code