Plotly - это как швейцарский нож в мире визуализации. Вот простой пример создания интерактивного графика:
import plotly.express as px
import pandas as pd
# Создаём тестовые данные
df = pd.DataFrame({
'Месяц': ['Янв', 'Фев', 'Март', 'Апр', 'Май'],
'Продажи': [100, 150, 200, 180, 250],
'Прибыль': [20, 30, 40, 35, 50]
})
# Создаём интерактивный график
fig = px.line(df, x='Месяц', y=['Продажи', 'Прибыль'],
title='Динамика продаж и прибыли',
template='plotly_dark')
# Добавляем hover-эффекты
fig.update_traces(mode='lines+markers', hovertemplate='%{y:,.0f}₽')
# Сохраняем как HTML или показываем в браузере
fig.write_html('sales_dashboard.html')
А теперь давайте создадим что-то более продвинутое с Bokeh:
from bokeh.plotting import figure, show
from bokeh.layouts import column
from bokeh.models import ColumnDataSource, HoverTool
import numpy as np
# Создаём интерактивный scatter plot
x = np.random.normal(0, 1, 1000)
y = np.random.normal(0, 1, 1000)
source = ColumnDataSource(data=dict(
x=x,
y=y,
size=np.random.uniform(5, 15, 1000),
color=['#%06x' % np.random.randint(0, 0xFFFFFF) for _ in range(1000)]
))
p = figure(width=800, height=600, title='Интерактивный Scatter Plot')
p.scatter('x', 'y', size='size', color='color', alpha=0.6, source=source)
# Добавляем интерактивные подсказки
hover = HoverTool(tooltips=[
('X', '@x{0.000}'),
('Y', '@y{0.000}'),
('Размер', '@size{0.00}')
])
p.add_tools(hover)
show(p)
import plotly.graph_objects as go
fig = go.Figure(
data=[go.Scatter(x=[1, 2, 3], y=[1, 3, 2])],
layout=dict(
updatemenus=[dict(
type="buttons",
buttons=[dict(label="Play",
method="animate",
args=[None])]
)]
)
)
from bokeh.plotting import curdoc
from functools import partial
from tornado.ioloop import IOLoop
def update():
source.data['y'] = np.random.rand(100)
curdoc().add_periodic_callback(update, 100) # Обновление каждые 100мс
from dataclasses import dataclass
from typing import List
@dataclass
class DataPoint:
x: float
y: float
category: str
data_points: List[DataPoint] = [] # Эффективнее, чем DataFrame для больших данных
- Plotly: если нужны красивые графики "из коробки" и важна простота использования
- Bokeh: если работаете с большими данными или нужна глубокая кастомизация
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥3
from transformers import pipeline
classifier = pipeline("sentiment-analysis") # Загрузка предобученной модели для анализа тональности текста
results = classifier([
"I love this library!",
"This is a terrible movie.",
"This is a neutral statement."
])
for result in results:
print(result)
# Примерный вывод:
# [{'label': 'POSITIVE', 'score': 0.9998950958251953}]
# [{'label': 'NEGATIVE', 'score': 0.9991175532341003}]
# [{'label': 'NEGATIVE', 'score': 0.9865201115608215}] # Модель может ошибаться, особенно на нейтральных высказываниях
from transformers import pipeline
generator = pipeline('text-generation', model='gpt2') # Загрузка модели для генерации текста
text = generator("Once upon a time, there was a large language model.", max_length=50, num_return_sequences=2)
for generated_text in text:
print(generated_text['generated_text'])
# Примерный вывод (будет отличаться при каждом запуске):
# Once upon a time, there was a large language model. It was trained on a massive dataset of text and code, and it could generate text, translate languages, write different kinds of creative content, and answer your questions in an informative way.
# Once upon a time, there was a large language model. And he lived in a little house made of straw. One day, he was sitting in his house, reading a book
from transformers import pipeline
summarizer = pipeline("summarization")
text = """
The quick brown fox jumps over the lazy dog. This is a test sentence.
It is used to demonstrate text summarization. The fox is brown and quick.
The dog is lazy. Summarization is a useful NLP task.
"""
summary = summarizer(text, max_length=30, min_length=10, do_sample=False)
print(summary[0]['summary_text'])
# Примерный вывод:
# The quick brown fox jumps over the lazy dog. It is used to demonstrate text summarization. The fox is brown and quick. The dog is lazy.
pipeline для создания готовых к использованию объектов для анализа тональности текста, генерации текста и суммаризации. pipeline автоматически загружает необходимые модели и токенизаторы. Обратите внимание, что для первого запуска потребуется скачать предобученные модели, что может занять некоторое время. Также показаны примеры настройки параметров генерации и суммаризации.Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍3⚡2🔥2
from datasets import load_dataset
# Загрузка датасета "imdb" с Hugging Face Hub
dataset = load_dataset("imdb")
print(dataset)
# Вывод: DatasetDict({
# train: Dataset({
# features: ['text', 'label'],
# num_rows: 25000
# })
# test: Dataset({
# features: ['text', 'label'],
# num_rows: 25000
# })
# unsupervised: Dataset({
# features: ['text', 'label'],
# num_rows: 50000
# })
# })
train_data = dataset['train']
print(train_data[0]) # Доступ к первому примеру в обучающем наборе
# Вывод: {'text': 'A series of escapades demonstrating the adage that what is good for the goose is also good for the gander, some of which occasionally amuses but none of which amounts to much of a story.', 'label': 0}
small_train_dataset = dataset["train"].shuffle(seed=42).select(range(1000)) # Перемешивание и выборка
from datasets import ClassLabel
import random
import pandas as pd
def show_random_elements(dataset, num_examples=10):
picks = []
n = len(dataset)
for _ in range(num_examples):
pick = random.randint(0, n - 1)
picks.append(dataset[pick])
df = pd.DataFrame(picks)
if isinstance(dataset.features['label'], ClassLabel):
df['label'] = df['label'].apply(lambda x: dataset.features['label'].int2str(x))
print(df)
show_random_elements(small_train_dataset)
# Вывод: таблица с 10 случайными примерами
load_dataset. Выводится информация о структуре датасета и показан доступ к отдельным примерам. Также представлен пример перемешивания и выборки подмножества данных для создания меньшего обучающего набора. Функция show_random_elements демонстрирует удобный способ просмотра случайных элементов из датасета в формате таблицы, обрабатывая при этом ClassLabel для отображения понятных названий меток.Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥4
Спасибо что читаете, ставите реакции и комментируете наш канал
И самое главное помните что следующий год предоставит вам гораздо больше возможностей для роста. Наш информационный канал поможет вам стать гораздо лучше и достичь всех начинаний которых вы хотите, и также напоминаем что Новый год - это семейный праздник, сделайте всё возможное чтобы встретить его в кругу близких друзей и родных, всего самого наилучшего, в новом 2025 году!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍6🔥3
Функция в Python — это самостоятельный блок кода, который выполняет определенную задачу. Представьте её как отдельный инструмент, который можно использовать где угодно в программе. Функции создаются с помощью ключевого слова def и могут принимать аргументы для обработки.
def calculate_area(length, width):
return length * width
# Использование функции
room_area = calculate_area(5, 4)
print(f"Площадь комнаты: {room_area} кв.м.")
Метод — это функция, которая принадлежит определённому классу или объекту. Он имеет доступ к данным объекта и может изменять его состояние. Методы всегда определяются внутри классов и вызываются через экземпляр класса или сам класс.
class BankAccount:
def __init__(self, balance):
self.balance = balance
def deposit(self, amount):
self.balance += amount
return f"Новый баланс: {self.balance}"
# Использование метода
account = BankAccount(1000)
account.deposit(500) # Вызов метода через объект
1. Область видимости:
- Функции работают с переданными им аргументами
- Методы имеют доступ к данным объекта через self
2. Способ вызова:
- Функции вызываются напрямую: function_name()
- Методы вызываются через объект: object.method()
3. Контекст выполнения:
- Функции независимы от контекста
- Методы всегда работают в контексте своего класса
• Для операций, не требующих доступа к состоянию объекта
• При работе с независимыми данными
• Для создания утилитарных операций
• При работе с данными объекта
• Когда логика тесно связана с классом
• Для реализации поведения объекта
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤6🔥4
Ниже показан простой пример, который демонстрирует, как использовать JPype для вызова метода Java.
1. Предположим, у вас есть Java-класс
HelloWorld, который выглядит следующим образом:public class HelloWorld {
public static String greeting() {
return "Hello from Java!";
}
}2. Компилируйте этот класс и убедитесь, что .class файл доступен.
3. Затем вы можете использовать следующий код на Python для вызова метода
greeting:import jpype
# Запуск виртуальной машины Java
jpype.startJVM(jpype.getDefaultJVMPath())
# Загрузка класса
HelloWorld = jpype.JClass("HelloWorld")
# Вызов метода
result = HelloWorld.greeting()
print(result) # Вывод: Hello from Java!
# Остановка виртуальной машины Java
jpype.shutdownJVM()
— Доступ к библиотекам Java из Python.
— Интеграция с существующим Java кодом.
— Использование JVM из Python.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥2👌1
—Простой и понятный синтаксис
—Огромное комьюнити
—Отличная документация
—Ограниченные возможности для 3D
—Не самая высокая производительность
—Современный и чистый API
—Встроенная физика
—Хорошая производительность
—Меньше обучающих материалов
—Относительно молодая библиотека
—Работает на всех платформах, включая мобильные
—Поддержка мультитач
—Сложнее в освоении
—Больше подходит для приложений
—2D-платформеры
—Аркады
—Головоломки
—Карточные игры
—Шутеры с видом сверху
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤5🔥3
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