import pandas as pd на import modin.pandas as pd, можно значительно ускорить выполнение многих операций, таких как чтение данных, фильтрация, агрегация и другие.# !pip install modin[ray] # или modin[dask], если предпочитаете Dask
import time
import modin.pandas as pd # Замена import pandas as pd
start_time = time.time()
# Загрузка большого датасета (замените на свой путь к файлу)
df = pd.read_csv("large_dataset.csv")
# Выполнение некоторых операций с DataFrame
# ... (например, фильтрация, агрегация и т.д.) ...
df = df[df['column_name'] > 100]
df = df.groupby(['column_name1','column_name2'])['column_name3'].sum()
end_time = time.time()
print(f"Время выполнения с Modin: {end_time - start_time} секунд")
# Для сравнения, выполните тот же код с обычным Pandas:
import time
import pandas as pd
start_time = time.time()
# Загрузка большого датасета (замените на свой путь к файлу)
df = pd.read_csv("large_dataset.csv")
# Выполнение некоторых операций с DataFrame
# ... (например, фильтрация, агрегация и т.д.) ...
df = df[df['column_name'] > 100]
df = df.groupby(['column_name1','column_name2'])['column_name3'].sum()
end_time = time.time()
print(f"Время выполнения с Pandas: {end_time - start_time} секунд")
modin.pandas, а затем с обычным pandas, чтобы сравнить время выполнения. Для больших датасетов Modin может значительно сократить время обработки, автоматически распараллеливая вычисления. Убедитесь, что у вас установлен Ray или Dask (в зависимости от выбранного движка для Modin) и замените "large_dataset.csv" на путь к вашему большому CSV-файлу.Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥3
from boltons.iterutils import chunked
data = list(range(20))
chunks = list(chunked(data, 4)) # Разделение данных на чанки размером 4
print(chunks)
# Вывод: [[0, 1, 2, 3], [4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15], [16, 17, 18, 19]]
from boltons.dictutils import OMD
# Ordered Multi Dict, сохраняет порядок добавления ключей и позволяет иметь несколько значений для одного ключа
omd = OMD()
omd[1] = "a"
omd[2] = "b"
omd[1] = "c"
print(omd)
# Вывод: OMD([(1, 'a'), (2, 'b'), (1, 'c')])
print(omd.getlist(1)) # Получение всех значений для ключа 1
# Вывод: ['a', 'c']
from boltons.funcutils import wraps
def my_decorator(f):
@wraps(f) # Сохраняет метаданные оригинальной функции
def wrapper(*args, **kwargs):
print("Before function call")
result = f(*args, **kwargs)
print("After function call")
return result
return wrapper
@my_decorator
def my_function(a, b):
"""
This is my function.
"""
return a + b
print(my_function(1, 2))
# Вывод:
# Before function call
# After function call
# 3
print(my_function.__doc__) # Метаданные сохраняются благодаря wraps
# Вывод: This is my function.
chunked для разделения списка на чанки, OMD (Ordered Multi Dict) для работы со словарем, сохраняющим порядок и позволяющим иметь несколько значений для одного ключа, и wraps для создания декораторов, сохраняющих метаданные декорируемых функций. Эти примеры показывают лишь небольшую часть функциональности, предоставляемой boltons. Библиотека содержит множество других полезных инструментов для различных задач.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍4🔥2
https://colab.research.google.com
• Бесплатный доступ к GPU и TPU для машинного обучения
• Полная интеграция с экосистемой Google (Drive, Sheets, Gmail)
• Поддержка Jupyter notebooks с возможностью совместного редактирования
• Предустановленные популярные библиотеки (TensorFlow, PyTorch, OpenCV)
• Возможность сохранения и загрузки моделей
• Выполнение долгих вычислений в фоновом режиме
• Бесплатное облачное хранилище до 15 ГБ
https://replit.com
• Мощный встроенный терминал с полным доступом
• Совместная работа в реальном времени с функцией pair programming
• Встроенный хостинг проектов с публичным URL
• Система контроля версий с интеграцией GitHub
• Автоматическое управление зависимостями
• Встроенный отладчик кода
• Поддержка кастомных конфигураций и переменных окружения
https://jupyter.org
• Интерактивные ноутбуки с поддержкой markdown
• Продвинутая визуализация данных и графиков
• Поддержка множества форматов (Python, R, Julia)
• Расширяемость через систему плагинов
• Встроенный просмотрщик CSV, JSON, изображений
• Интерактивные виджеты для данных
• Возможность создания презентаций
https://www.pythonanywhere.com
• Полноценный хостинг веб-приложений Python
• Консоль Python с доступом через браузер
• Поддержка популярных фреймворков (Django, Flask)
• Встроенная поддержка MySQL и PostgreSQL
• Бесплатный тариф с базовым функционалом
• Автоматическое обновление сертификатов SSL
• Планировщик задач для автоматизации
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7🔥5👍4
from peewee import *
# Создаем подключение к базе данных SQLite (или подключаемся к существующей)
db = SqliteDatabase('my_database.db')
# Определяем модель данных (таблицу)
class User(Model):
username = CharField(unique=True)
password = CharField()
email = CharField()
active = BooleanField(default=True)
joined_date = DateTimeField()
class Meta:
database = db # Связываем модель с базой данных
# Создаем таблицу в базе данных (если она не существует)
db.connect()
db.create_tables([User])
# Создаем нового пользователя
user = User(username='testuser', password='password', email='test@example.com', joined_date='2024-07-26 10:00:00')
user.save() # Сохраняем пользователя в базу данных
# Получаем пользователя по имени пользователя
retrieved_user = User.get(User.username == 'testuser')
print(retrieved_user.email) # Вывод: test@example.com
# Обновляем данные пользователя
retrieved_user.active = False
retrieved_user.save()
# Удаляем пользователя
retrieved_user.delete_instance()
# Запрос с фильтрацией
active_users = User.select().where(User.active == True)
for user in active_users:
print(user.username)
db.close()
User, подключение к базе данных SQLite, создание таблицы, добавление, получение, обновление и удаление записей. Также показан пример простого запроса с фильтрацией. peewee предоставляет интуитивно понятный интерфейс для работы с базами данных, делая код более читаемым и легким в поддержке, чем при использовании сырых SQL-запросов.Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥3
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍3🔥2
— Используя конструктор
complex(a, b), где a — действительная часть, b — мнимая.— Из вещественного числа, добавив к нему мнимую часть. Например,
a + bj.— Из строкового представления с помощью
complex(string).Для доступа к частям комплексного числа используются атрибуты
real и imag. abs(), conjugate(), polar() позволяют получить модуль, сопряженное число и представление в тригонометрической форме.Please open Telegram to view this post
VIEW IN TELEGRAM
❤6👍5⚡2🔥2
Он наследуется встроенными типами словарей, такими как dict, а также другими типами, которые реализуют схожее поведение, например OrderedDict.
Mapping определяет интерфейс, общий для всех отображений ключ-значение, включая такие методы как keys(), values(), items() и другие. Это позволяет писать универсальный код, который будет работать с любым типом, реализующим этот интерфейс.
Mapping часто используется вместе с isinstance или issubclass для проверки, является ли объект словарем. Также он полезен при написании функций, которым нужно принимать на вход отображения, но без привязки к конкретному типу как dict. Mapping гарантирует наличие основных методов словаря у переданного объекта.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥3
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21🤣9👍7❤3🤬1
Тернарный оператор используется, когда мы хотим сократить код и упростить чтение. Это особенно полезно в случаях, когда нам нужно сделать простое условное присваивание. Однако из-за его сжатого формата, использование тернарного оператора в сложных условиях может затруднить понимание кода.
Да, Python поддерживает тернарный оператор. В Python тернарный оператор выглядит следующим образом: x if condition else y. Здесь x присваивается, если условие истинно, иначе присваивается y.
age = 15
type = "teenager" if age < 18 else "adult"
print(type) # Выведет: teenager
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤3🔥3
— Автоматическое удаление фона с использованием нейросетей.
— Возможность точной настройки для сложных изображений .
— Поддержка изображений разных форматов — JPG, PNG, GIF и др.
Также библиотека позволяет быстро интегрировать удаление фона в любые проекты на Python, где требуется обработка изображений. Простой API и хорошее качество делают эту библиотеку полезным инструментом для разных задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤4🔥3
—
Pyspark автоматически распределяет данные и вычисления между узлами кластера для максимальной производительности.— В
Pyspark есть специальные типы данных (RDD, DataFrame, Dataset), которые позволяют удобно работать с табличными и структурированными данными.— Поддержка чтения и записи в разные хранилища данных и форматы файлов.
— Встроенные алгоритмы машинного обучения для классификации, кластеризации, регрессии.
— Интуитивно понятный API, позволяющий применять
Pyspark вместе с другими популярными библиотеками Python для анализа данных.Pyspark используется для быстрой параллельной обработки больших объемов данных с помощью кластеров, что делает его очень полезным инструментом для big data и машинного обучения.Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍4🔥3🙈1
😐7👍3🤔3👏1🤨1
Далее мы считаем длину set'a этого списка. set убирает все повторяющиеся элементы —> длина 1, 2 —> 2
Далее то же самое, только со всей длиной списка —> 6
Задача на внимательность: выводим выражение 2 in 6 —> мы не можем in'ом проверять int в int'е.
Ответ: ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤓6❤2🔥1
Она принимает в качестве аргумента другой
set и возвращает boolean значение — True если первый set содержит все элементы второго, и False в противном случае. Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤4🔥2
Основные преимущества Click — простота использования, элегантный и понятный код, мощные возможности по созданию комплексных CLI. Работает на Python 3.6 и выше.
— Определение команд и групп команд с помощью декоратора
@click.command().— Декларативное описание аргументов и опций.
— Автоматический парсинг аргументов командной строки.
— Генерация
help сообщения.— Поддержка
bash/zsh автодополнения.— Вложенные команды и группы подкоманд.
— Цветной вывод в терминал.
Click широко используется для создания консольных утилит, CLI интерфейсов для web фреймворков, DevOps инструментов, скриптов автоматизации и других задач, где требуется командная строка.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🔥3
1. Firefox
2. Telegram Desktop
3. OBS Studio
1. Neovim
2. W3M
3. NetworkManager (nmtui)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3🔥2
1. Модули и классы - библиотека предоставляет модули, которые переопределяют или предоставляют совместимые классы и функции.
2. Совместимость строк - Six обеспечивает единый способ работы со строками в обеих версиях Python.
3. Функции - многие встроенные функции и методы, которые работают по-разному в Python 2 и 3, можно использовать с помощью Six.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥3
— Простота использования: PyBrain имеет простой и понятный синтаксис, который делает его удобным для изучения.
— Модульность: PyBrain является модульной библиотекой, что позволяет разработчикам создавать собственные алгоритмы и инструменты.
— Производительность: PyBrain написан на Python, который является высокопроизводительным языком.
— Классификация: обучение нейронной сети для классификации входных данных в один из нескольких классов.
— Регрессия: обучение нейронной сети для прогнозирования непрерывных значений.
— Обнаружение аномалий: обучение нейронной сети для обнаружения аномальных входных данных.
from pybrain.datasets import ClassificationDataSet
from pybrain.supervised.trainers import BackpropTrainer
from pybrain.tools.shortcuts import BuildNetwork
# Создание выборки данных
data = ClassificationDataSet(2, 1)
# Добавление данных (x1, x2, label)
data.addSample((0, 0), (0,))
data.addSample((0, 1), (1,))
data.addSample((1, 0), (1,))
data.addSample((1, 1), (0,))
# Создание нейронной сети
network = BuildNetwork(2, 3, 1)
# Обучение нейронной сети
trainer = BackpropTrainer(network, data)
for _ in range(1000):
trainer.train()
# Проверка результатов
for sample in [(0, 0), (0, 1), (1, 0), (1, 1)]:
output = network.activate(sample)
print(f'Input: {sample}, Output: {output}')
Please open Telegram to view this post
VIEW IN TELEGRAM
❤4🔥3👍2
— Простой интерфейс для задания байесовских моделей на языке
Stan.— Автоматическая компиляция моделей в высокооптимизированный код на C++.
— Выполнение статистического вывода с использованием методов Монте-Карло (MCMC).
— Возможность задавать сложные иерархические модели.
— Удобные инструменты для анализа результатов моделирования.
— Интеграция со многими библиотеками данных и визуализации в Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤3🔥2👾1