Python/ django
60.9K subscribers
2.14K photos
85 videos
48 files
2.87K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит-каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
🐍 Хитрый совет по Python: как ускорить in в 1000 раз

Когда ты проверяешь, есть ли элемент в списке, Python делает это медленно — он пробегает по списку полностью.
А если ты проверяешь элемент в множестве (set), это работает в сотни раз быстрее.

📌 Пример:


data = [1, 2, 3, ..., 1000000] # большой список
queries = [42, 9999, 123456]

# Медленно:
for q in queries:
if q in data:
print(q)


🔁 Каждый q in data проходит весь список → медленно.

Правильный способ:

Преобразуй список в set один раз — и все станет быстро:


data_set = set(data)

for q in queries:
if q in data_set:
print(q)


💡 Проверка in в set работает мгновенно (как в словаре).
Такой трюк особенно полезен, если:

-у тебя много данных
-ты делаешь много проверок на вхождение

📌 Запомни: if x in список: — медленно
Лучше: if x in set(список): — быстро!

@pythonl
32🔥14😁8👍5🤩2😢1🎉1
🌀 Cirq — Python-фреймворк для работы с квантовыми схемами, разработанный командой Google Quantum AI. Этот проект предоставляет инструменты для создания параметризованных квантовых цепей, их трансформации и симуляции на различных бэкендах.

Инструмент имеет встроенную поддержку аппаратно-зависимых операций и интеграция с высокопроизводительными симуляторами вроде qsim. Позволяет описывать квантовые алгоритмы с учетом шумовых характеристик реальных процессоров.

🤖 GitHub

@pythonl
7👍4🔥2
Как сказать рутине STOP?

Ускорьте рабочие процессы и освободите время для более интересных дел — с помощью курса Слёрма «Python для инженеров» 👈

Это обучение, заточенное на инженеров в нём нет ничего лишнего, только то, что необходимо именно вам.

На курсе вы научитесь:

🔹 писать эффективный и поддерживаемый код;
🔹 писать Kubernetes-операторы и модули для Ansible;
🔹 создавать, использовать и тестировать свои API;
🔹 взаимодействовать с инструментами CI/CD, CVS и DevOps системами.

Есть бесплатный демодоступ.

Старт 11 августа. Занять своё место на курсе — по ссылке.
👍53😁1
💡 STUMPY — библиотека для анализа временных рядов. Этот проект предлагает мощный инструмент для работы с временными последовательностями через вычисление matrix profile — специальной метрики, которая автоматически находит схожие паттерны в данных.

Инструмент поддерживает распределённые вычисления через Dask и GPU-ускорение через Numba. Технология особенно полезна для обнаружения аномалий, повторяющихся фрагментов и семантической сегментации. Библиотека одинаково хорошо работает как на небольших наборах данных, так и на временных рядах длиной в миллионы точек.

🤖 GitHub

@pythonl
6🔥6👍4
📘 Потерянная глава Automate the Boring Stuff

Автор культовой книги выложил бесплатно новую главу книги, которая не попала в издание — про автоматизацию работы с аудио и видео.

🎧 Что внутри:
— Конвертация и обрезка видео с помощью moviepy
— Преобразование аудио в текст через SpeechRecognition
— Извлечение субтитров
— Автоматизация задач с файлами .mp3, .wav, .mp4 и .avi

🛠 Глава написана в привычном стиле — просто, на примерах, с пояснениями к коду. Идеально подойдёт для тех, кто хочет быстро научиться обрабатывать медиафайлы на Python без сложных фреймворков.

📎 Читать

@Pythonl
👍118🔥2
👩‍💻 MegaParse — высокопроизводительный парсер, который способен преобразовывать всевозможные типы документов (Word документы, PDF-файлы или даже презентации PowerPoint)!

🌟 Его основная цель — преобразовывать информацию из документов в текст для LLM, при этом минимизируя различные потери данных.

🔐 Лицензия: Apache-2.0

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍128🔥4
🖥 Что выведет код ниже?


def append_to_list(val, my_list=[]):
my_list.append(val)
return my_list

print(append_to_list(1))
print(append_to_list(2))
print(append_to_list(3))


🤯 Подвох
Многие думают, что каждый вызов append_to_list() создаёт новый список, и ожидают вывод:


[1]
[2]
[3]

Но на самом деле Python выведет:


[1]
[1, 2]
[1, 2, 3]

🧠 Почему так происходит?
В Python значения аргументов по умолчанию вычисляются один раз — при определении функции, а не при каждом вызове.

Значение my_list=[] создаётся один раз и сохраняется между вызовами. Это работает как статическая переменная внутри функции.

Как это исправить?
Используй None как значение по умолчанию:


def append_to_list(val, my_list=None):
if my_list is None:
my_list = []
my_list.append(val)
return my_list

print(append_to_list(1)) # [1]
print(append_to_list(2)) # [2]
print(append_to_list(3)) # [3]

💡 Вывод
Не используйте изменяемые объекты (например, list, dict, set) как значения по умолчанию для аргументов функций в Python.


@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍9🔥6😁2😱1
Forwarded from Machinelearning
This media is not supported in your browser
VIEW IN TELEGRAM
🐼 Pandas тормозит на больших данных?

NVIDIA показала, как ускорить его в 40 раз — без переписывания кода.

Команда NVIDIA провела эксперимент с 18 миллионами строк данных с фондовых рынков: они выполнили типичный анализ данных с помощью pandas на CPU, а затем тоже самое — на GPU, используя cudf.pandas.

Для примеры были взяты:
📉 Скользящие средние (50D и 200D)
📅 Недельная статистика закрытия рынков
🧊 В общей сложности ~18M строк

Результат впечатляет : удалось добиться**ускорения обработки данных в 20–40 раз

Код скрипта не менялся вообще — тот же pandas, но на GPU.

Это один из примеров, где ускорение достигается без переписывания логики кода.

🟡 Потестить самому можно в Colab
🟡 Другие примеры с кодом — здесь

@ai_machinelearning_big_data


#datasckience #ml #nvidia #gpu #pandas #python
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍5🔥3
🐍 dlt — библиотека для загрузки данных на Python. Этот open-source инструмент упрощает работу с данными — от простых скриптов до сложных ETL-пайплайнов. Автоматически определяет структуру данных и адаптируется под разные источники и хранилища.

Проект удобен для быстрого прототипирования: можно начать в Colab-ноутбуке, а затем масштабировать до production-решения. Поддерживает инкрементальную загрузку и интеграцию с Airflow.

🤖 GitHub

@pythonl
13👍3🔥2🤩1