Forwarded from IT memer
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣37👍9😁6❤2
Matplotlib особенно полезен для анализа данных, презентаций и научных исследований.
Если мы хотим построить график зависимости y = x^2:
import matplotlib.pyplot as plt
import numpy as np
# Генерируем данные
x = np.linspace(-10, 10, 100) # 100 точек от -10 до 10
y = x ** 2
# Создаем график
plt.plot(x, y, label='y = x^2', color='blue', linewidth=2)
# Добавляем заголовок и метки осей
plt.title('График функции y = x^2')
plt.xlabel('X')
plt.ylabel('Y')
# Добавляем легенду
plt.legend()
# Отображаем график
plt.grid(True)
plt.show()
Теперь давайте построим гистограмму распределения случайных чисел:
import matplotlib.pyplot as plt
import numpy as np
# Генерируем случайные данные
data = np.random.randn(1000)
# Создаем гистограмму
plt.hist(data, bins=30, color='green', edgecolor='black', alpha=0.7)
# Добавляем заголовок и метки осей
plt.title('Гистограмма распределения данных')
plt.xlabel('Значение')
plt.ylabel('Частота')
# Отображаем график
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()
-- Широкие возможности: Matplotlib позволяет создавать практически любой тип графика.
- Кастомизация: Вы можете полностью контролировать внешний вид графиков (цвета, шрифты, размеры).
- Интеграция с другими библиотеками: Matplotlib отлично работает с Pandas, NumPy и SciPy.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Зачем покупать курсы, книги и искать информацию на древних форумах когда есть Python Power❔
В канале от Senior-разработчика уже можно посмотреть совершенно бесплатно:
-♾ количество фишек и полезной инфы
- 52 прохождения собеса
- 117 рабочих скриптов
- слив топ 20 курсов
- 10 мастхев книг
- 144 задачи которые будут на вашем собесе
- гайд как получить первый оффер
🔒 Открыли канал на 48 часов, успей залететь!
В канале от Senior-разработчика уже можно посмотреть совершенно бесплатно:
-
- 52 прохождения собеса
- 117 рабочих скриптов
- слив топ 20 курсов
- 10 мастхев книг
- 144 задачи которые будут на вашем собесе
- гайд как получить первый оффер
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Допустим, мы хотим собрать названия статей с новостного сайта с помощью Scrapy:
В папке
news_scraper/spiders/ создайте файл news_spider.py со следующим содержимым:import scrapy
class NewsSpider(scrapy.Spider):
name = 'news'
start_urls = ['https://example.com/news'] # URL сайта для парсинга
def parse(self, response):
# Извлекаем заголовки статей
for article in response.css('div.article'):
yield {
'title': article.css('h2.title::text').get(),
'link': article.css('a::attr(href)').get(),
}
# Переход на следующую страницу
next_page = response.css('a.next-page::attr(href)').get()
if next_page is not None:
yield response.follow(next_page, self.parse)
Далее запускаем с помощью команды:
scrapy crawl news -o news.json
news.json.- Масштабируемость: Scrapy может обрабатывать тысячи страниц одновременно, что делает его идеальным для крупных проектов.
- Гибкость: Библиотека поддерживает различные типы запросов (GET, POST), аутентификацию, куки и работу с JavaScript через интеграцию с Selenium.
- Автоматизация: Scrapy позволяет настроить периодические задачи для регулярного сбора данных.
- Экономия времени: Вместо ручного копирования информации, Scrapy автоматизирует процесс, позволяя сосредоточиться на анализе данных.
- Поддержка различных форматов: Собранные данные можно экспортировать в CSV, JSON, XML и другие форматы без дополнительных усилий.
Scrapy — это не просто инструмент для веб-скрапинга, это целая экосистема, которая помогает эффективно решать задачи сбора данных. Его гибкость, масштабируемость и автоматизация делают его незаменимым для разработчиков, работающих с большими объемами информации.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2🔥2
1. Установка Flask: Сначала установите библиотеку командой:
pip install flask
2. Создание приложения: Создайте файл app.py со следующим содержимым:
from flask import Flask, render_template, request
app = Flask(__name__)
# Главная страница
@app.route('/')
def home():
return "Добро пожаловать на мой сайт!"
# Страница приветствия
@app.route('/hello/<name>')
def hello(name):
return f"Привет, {name}!"
# Запуск приложения
if __name__ == '__main__':
app.run(debug=True)
3. Запуск приложения: Запустите скрипт командой:
python app.py
4. Тестирование: Откройте браузер и перейдите по адресу http://127.0.0.1:5000/. Вы увидите сообщение "Добро пожаловать на мой сайт!". Теперь попробуйте перейти по адресу http://127.0.0.1:5000/hello/Alice. Вы получите сообщение "Привет, Alice!".
- Определение маршрутов: Мы используем декоратор @app.route() для определения URL-адресов и соответствующих функций.
- Передача параметров: В примере /hello/<name> параметр name передается в функцию hello().
- Запуск сервера: Метод app.run() запускает локальный сервер для тестирования приложения.
— Официальная документация Flask
— Учебник по Flask
Flask — это отличный выбор для создания веб-приложений в Python. Его простота и гибкость позволяют быстро реализовать идеи и протестировать их.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3🔥2
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
# Настройки отправителя
sender_email = "your_email@gmail.com"
receiver_email = "recipient_email@example.com"
password = "your_password" # Введите пароль или токен приложения
# Создание сообщения
message = MIMEMultipart()
message['From'] = sender_email
message['To'] = receiver_email
message['Subject'] = "Тестовое сообщение из Python"
# Текст письма
body = "Привет! Это тестовое сообщение, отправленное с помощью Python."
message.attach(MIMEText(body, 'plain'))
# Подключение к SMTP-серверу Gmail
try:
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls() # Шифрование соединения
server.login(sender_email, password) # Авторизация
# Отправка письма
text = message.as_string()
server.sendmail(sender_email, receiver_email, text)
print("Сообщение успешно отправлено!")
except Exception as e:
print(f"Ошибка отправки: {e}")
finally:
server.quit()
from email.mime.base import MIMEBase
from email import encoders
# Добавляем вложение
filename = "example.txt"
with open(filename, "rb") as attachment:
part = MIMEBase("application", "octet-stream")
part.set_payload(attachment.read())
encoders.encode_base64(part)
part.add_header(
"Content-Disposition",
f"attachment; filename= {filename}",
)
message.attach(part)
# Отправляем письмо как раньше
server.sendmail(sender_email, receiver_email, message.as_string())
print("Сообщение с вложением успешно отправлено!")
1. Создание SMTP-объекта - для подключения к почтовому серверу.
2. Аутентификация - возможность входа с использованием логина и пароля.
3. Отправка почты - метод для отправки электронных писем с указанным содержимым.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍5🔥5
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