1. Установка Telethon: Сначала установите библиотеку командой:
pip install telethon
2. Создание приложения в Telegram: Перейдите в Telegram API и создайте новое приложение, чтобы получить
API ID и API Hash.3. Код бота: Создайте файл bot.py со следующим содержимым:
from telethon import TelegramClient, events
# Настройки вашего приложения
api_id = 'YOUR_API_ID' # Введите ваш API ID
api_hash = 'YOUR_API_HASH' # Введите ваш API Hash
# Создание клиента
client = TelegramClient('session_name', api_id, api_hash)
@client.on(events.NewMessage)
async def handler(event):
# Проверяем, является ли сообщение от пользователя
if event.is_private:
sender = await event.get_sender()
username = sender.username
message = event.text
# Ответ на сообщение
await event.respond(f"Привет, {username}! Ты написал: {message}")
# Запуск клиента
with client:
print("Бот запущен. Нажмите Ctrl+C для остановки.")
client.run_until_disconnected()
4. Запустите бота командой:
python bot.py
- Создание клиента: Мы используем TelegramClient для подключения к Telegram API с помощью вашего API ID и API Hash.
- Обработка событий: Метод @client.on(events.NewMessage) регистрирует обработчик для новых сообщений.
- Отправка ответа: Метод await event.respond() позволяет отправить ответное сообщение пользователю.
Telethon — это мощный инструмент для работы с Telegram. Он особенно полезен для создания ботов, автоматизации задач и анализа данных из Telegram.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤5🔥1
Что выдаст код выше❔
Anonymous Quiz
16%
Python
2%
JavaScript
51%
C++
16%
Python, JavaScript, C++
16%
Error
🤔5👍3🤓2🤨1
НО! Мы принтуем НЕ список, а результат удаления. Прикол в том, что .pop помимо удаления, еще и возвращает удаленный элемент. То есть в принте будет выведен элемент, который мы удалили —> 'C++'
p.s. когда-то уже была такая задача, люди, давно подписанные, обладающие хорошей памятью, уже не ведутся на такие уловки))
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🤯7❤4😁3👀1
Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🤣6🔥3😁1
import argparse
# Создаем парсер
parser = argparse.ArgumentParser(description="Программа для приветствия пользователя")
# Добавляем аргумент
parser.add_argument('--name', type=str, required=True, help="Имя пользователя")
# Парсим аргументы
args = parser.parse_args()
# Выводим приветствие
print(f"Привет, {args.name}!")
Запустить скрипт:
python script.py --name Alice
Привет, Alice!
import argparse
# Создаем парсер
parser = argparse.ArgumentParser(description="Программа для сбора информации о пользователе")
# Добавляем аргументы
parser.add_argument('--name', type=str, required=True, help="Имя пользователя")
parser.add_argument('--age', type=int, default=18, help="Возраст пользователя")
parser.add_argument('--city', type=str, default="Не указан", help="Город проживания")
# Парсим аргументы
args = parser.parse_args()
# Выводим информацию
print(f"Имя: {args.name}")
print(f"Возраст: {args.age}")
print(f"Город: {args.city}")
Запустить скрипт:
python script.py --name Bob --age 25 --city NewYork
Имя: Bob
Возраст: 25
Город: NewYork
— Создание утилит для обработки файлов (например, конвертация форматов).
— Разработка автоматизированных скриптов для анализа данных.
— Написание командных инструментов для администрирования систем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤4⚡2
Очистка последовательности — это процесс удаления нежелательных элементов из коллекции данных (например, списка, строки или множества). Это может включать удаление дубликатов, пустых значений, специальных символов или любых других ненужных элементов. Это особенно важно при работе с реальными данными, которые часто содержат шум или ошибки.
# Исходный список
data = [1, 2, 2, 3, 4, 4, 5]
# Удаляем дубликаты с помощью множества
cleaned_data = list(set(data))
print("Исходный список:", data)
print("Очищенный список:", cleaned_data)
Результат:
Исходный список: [1, 2, 2, 3, 4, 4, 5]
Очищенный список: [1, 2, 3, 4, 5]
# Исходная строка
text = " Hello, World! This is a test. "
# Удаляем лишние пробелы
cleaned_text = ' '.join(text.split())
print("Исходная строка:", repr(text))
print("Очищенная строка:", repr(cleaned_text))
Результат:
Исходная строка: ' Hello, World! This is a test. '
Очищенная строка: 'Hello, World! This is a test.'
# Исходный список
numbers = [3, -1, 0, 7, -5, 2]
# Фильтрация с помощью list comprehension
positive_numbers = [num for num in numbers if num > 0]
print("Исходный список:", numbers)
print("Очищенный список:", positive_numbers)
Результат:
Исходный список: [3, -1, 0, 7, -5, 2]
Очищенный список: [3, 7, 2]
Очистка последовательностей — это важный шаг в подготовке данных для анализа или обработки. который даёт чистоту данных, улучшение производительности и правильность результатов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥4❤3
PyAutoGUI позволяет эмулировать ввод с клавиатуры, например, ввод текста и нажатие клавиш.PyAutoGUI предоставляет функционал для работы с окнами программ, такой как перемещение и изменение размеров окон.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥3
— Легкость использования.
— Широкий выбор алгоритмов.
— Хорошая документация и активное сообщество.
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# Загружаем набор данных Iris
data = load_iris()
X = data.data # Признаки
y = data.target # Целевые метки
# Разделяем данные на обучающую и тестовую выборки
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# Создаем модель k-NN
model = KNeighborsClassifier(n_neighbors=3)
# Обучаем модель
model.fit(X_train, y_train)
# Делаем предсказания
predictions = model.predict(X_test)
# Оцениваем точность модели
accuracy = accuracy_score(y_test, predictions)
print(f"Точность модели: {accuracy:.2f}")
Точность модели: 1.00
- Загрузка данных: Мы используем встроенный набор данных Iris из sklearn.datasets.
- Разделение данных: Метод train_test_split() разделяет данные на обучающую и тестовую выборки.
- Создание модели: Мы создаем экземпляр классификатора KNeighborsClassifier с параметром n_neighbors=3.
- Обучение модели: Метод .fit() обучает модель на обучающей выборке.
- Оценка точности: Мы сравниваем предсказания модели с реальными значениями и вычисляем точность.
Scikit-learn — это отличный инструмент для начала работы с машинным обучением. Библиотека содержит множество классических алгоритмов, таких как SVM, случайные леса, наивный Байес и другие, а также инструменты для предобработки данных, выбора признаков, кросс-валидации и оценки моделей. Scikit-learn имеет простой и понятный API, что делает ее прекрасным выбором для начинающих в области машинного обучения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5❤4
Рассказываю про telegram без программирования: https://t.me/+tMKLZLAdrzcwZTVi
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥2🥰2👍1
- Автоматическая предобработка данных.
- Выбор оптимальной модели для задач классификации или регрессии.
- Генерация отчетов о данных и результатах модели.
from sklearn.datasets import load_iris
from dabl import SimpleClassifier
# Загружаем набор данных Iris
data = load_iris()
X = data.data # Признаки
y = data.target # Целевые метки
# Создаем и обучаем простой классификатор
clf = SimpleClassifier(random_state=42)
clf.fit(X, y)
# Оцениваем точность модели
print(f"Точность модели: {clf.score(X, y):.2f}")
# Печатаем отчет о данных
clf.report()
Точность модели: 1.00
В отчете clf.report() вы получите подробную информацию о данных, включая статистику признаков, распределение классов и характеристики выбранной модели.
- Быстрая оценка качества различных моделей на одном наборе данных.
- Автоматическая подготовка данных для машинного обучения.
- Генерация отчетов о данных для аналитических целей.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3🔥2
from collections import defaultdict
# Создаем defaultdict с типом значения по умолчанию — список
my_dict = defaultdict(list)
# Добавляем элементы
my_dict['fruits'].append('apple')
my_dict['fruits'].append('banana')
my_dict['vegetables'].append('carrot')
print(my_dict)
defaultdict(<class 'list'>, {
'fruits': ['apple', 'banana'],
'vegetables': ['carrot']
})# Без defaultdict
my_dict = {}
if 'fruits' not in my_dict:
my_dict['fruits'] = []
my_dict['fruits'].append('apple')
# С defaultdict
my_dict = defaultdict(list)
my_dict['fruits'].append('apple')
defaultdict делает код чище, удобнее и помогает избежать ошибок.defaultdict — это инструмент, который делает работу со словарями проще, чище и эффективнее. Он избавляет от необходимости проверять существование ключей, автоматически создавая значения по умолчанию, что упрощает код и делает его более читабельным. Благодаря своей гибкости, defaultdict позволяет использовать любые типы данных по умолчанию, будь то списки, числа или множества.Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤4🔥4
file1.csv, file2.csv, file3.csv), каждый из которых содержит данные с одинаковой структурой. Нужно объединить их в один файл.import pandas as pd
import glob
# Шаг 1: Собираем все CSV-файлы из папки
files = glob.glob("data/*.csv") # Указываем путь к файлам
dfs = [pd.read_csv(file) for file in files] # Читаем каждый файл в DataFrame
# Шаг 2: Объединяем все DataFrame в один
combined_df = pd.concat(dfs, ignore_index=True)
# Шаг 3: Сохраняем результат в новый CSV-файл
combined_df.to_csv("combined_data.csv", index=False)
print("Все файлы успешно объединены!")
- glob.glob("data/*.csv"): Находит все CSV-файлы в указанной папке.
- pd.read_csv(file): Читает каждый файл в DataFrame.
- pd.concat(dfs, ignore_index=True): Объединяет все DataFrame в один, игнорируя старые индексы.
- to_csv("combined_data.csv", index=False): Сохраняет объединённые данные в новый файл без дополнительного индекса.
Если файлы имеют разную структуру (например, разные столбцы), можно использовать параметр
join="inner" или join="outer" в функции pd.concat().join="inner": Оставит только общие столбцы.join="outer": Включит все столбцы, заполняя пропуски значением NaN.Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3🔥2
from bokeh.plotting import figure, show, output_file
# Исходные данные
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]
# Создаем график
plot = figure(title="Простой график", x_axis_label='x', y_axis_label='y')
plot.line(x, y, legend_label="Тренд", line_width=2)
# Сохраняем результат в файл
output_file("line.html")
# Показываем график
show(plot)
После выполнения кода откроется окно браузера с интерактивным графиком, где можно приближать, отдалять и перемещать данные.
from bokeh.models import HoverTool
from bokeh.plotting import figure, show
# Исходные данные
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]
# Создаем график
plot = figure(title="Интерактивный график", tools="pan,wheel_zoom,box_zoom,reset")
plot.circle(x, y, size=10, color="navy", alpha=0.5)
# Добавляем инструмент HoverTool для подсказок
hover = HoverTool(tooltips=[("x", "@x"), ("y", "@y")])
plot.add_tools(hover)
# Показываем график
show(plot)
Bokeh — это мощный инструмент для создания интерактивных визуализаций данных в Python. Он идеально подходит для аналитиков, учетных данных и разработчиков, которым нужна возможность создавать сложные графики с минимальными усилиями.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤2🔥2
itertools.chain — это полезная функция из стандартной библиотеки Python для объединения нескольких итерируемых объектов (списки, кортежи и т.д.) в один. Она помогает обходить несколько коллекций последовательно, как будто они являются одной.from itertools import chain
# Исходные данные
list1 = [1, 2, 3]
list2 = [4, 5, 6]
list3 = [7, 8, 9]
# Объединяем списки с помощью chain
combined = chain(list1, list2, list3)
print("Объединенный результат:")
for item in combined:
print(item, end=" ") # Вывод: 1 2 3 4 5 6 7 8 9
from itertools import chain
# Разные типы данных
data1 = [10, 20, 30]
data2 = ('a', 'b', 'c')
data3 = range(3)
# Объединяем все вместе
result = list(chain(data1, data2, data3))
print("Результат после объединения:")
print(result) # Вывод: [10, 20, 30, 'a', 'b', 'c', 0, 1, 2]
itertools.chain позволяет эффективно работать с несколькими последовательностями как с одной, не создавая дополнительных списков и не тратя лишние ресурсы на их хранение в памяти.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4🤔4🗿1
👍13👌4🔥3
/Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤3🔥3