Бизнес блог #1
Выжимаю книги до самой сути.
? Реклама - @jaMasha
? Хотите свою книгу? Мы напишем её за вас и сделаем книгу бестселлером. Подробности в боте @Summary_library_bot
? Оставьте след в истории с помощью книги
https://expert-book.pro
Фильмы и сериалы со всей планеты. Мы знаем, что посмотреть, где посмотреть и на что сходить в кино.
Last updated 4 days, 10 hours ago
Все материалы размещены по партнёрской програме ivi.ru | All materials are posted on the partner program ivi.ru
По всем вопросам: @kuzr103
Купить рекламу: https://telega.in/c/k1noxa103
Основной канал: https://t.me/kino_hd2
Last updated 2 weeks, 3 days ago
🚘 Расчет пройденного автомобилем расстояния
Представьте, что скорость автомобиля меняется с течением времени, и она описывается функцией, представленной на картинке.
📌 Ваша задача — вычислить расстояние, которое автомобиль прошел за первые 10 секунд, используя Python.
*❗️ *Подсказка: необходимо рассчитать интеграл.
*✅ Решение* — в комментариях.
🐍 Лайфхаки Python
Давайте рассмотрим несколько лайфхаков, которые могут вам пригодиться при работе с Python:
✅ Использование enumerate для получения индекса и значения
Когда вы итерируетесь по списку, часто возникает необходимость отслеживать как индекс, так и значение элемента. Вместо использования range(len(...)), используйте enumerate.
```
my_list = ['a', 'b', 'c', 'd']
for index, value in enumerate(my_list):
print(f"Индекс: {index}, Значение: {value}")
```
✅ Лямбда-функции и ключ сортировки
Когда нужно отсортировать список по какому-то критерию, вы можете использовать lambda как ключ сортировки.
```
# Список кортежей (имя, возраст)
people = [('John', 28), ('Anna', 22), ('Mike', 32)]
# Сортировка по возрасту (второй элемент кортежа)
sorted_people = sorted(people, key=lambda x: x[1])
print(sorted_people)
```
✅ Одновременное присваивание нескольких переменных
В Python можно присваивать значения нескольким переменным одновременно в одной строке.
```
a, b, c = 1, 2, 3
# Теперь a = 1, b = 2, c = 3
# Можно также менять переменные местами без временной переменной
a, b = b, a
# Теперь a = 2, b = 1
```
✅ Использование zip для параллельной итерации
Если вам нужно итерироваться по нескольким спискам одновременно, используйте zip, чтобы объединить их.
```
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
for name, age in zip(names, ages):
print(f"{name} is {age} years old")
```
🐍 Математические вычисления в Python
Давайте рассмотрим очень полезную и удобную библиотеку для математических вычислений, которые часто необходимо проводить в процессе анализа данных.
SciPy — это библиотека для языка программирования Python, используемая для технических вычислений. Она основана на библиотеке NumPy и расширяет её функциональность, предоставляя более широкий набор инструментов для работы с массивами, линейной алгеброй, статистикой, оптимизацией и другими научными вычислениями.
Основные возможности SciPy:
✅Линейная алгебра (scipy.linalg):
📌 Функции для работы с матрицами и векторами.
📌 Решение систем линейных уравнений.
📌 Вычисление собственных значений и собственных векторов и т.д.
✅ Интегрирование и решение обыкновенных дифференциальных уравнений (scipy.integrate).
✅ Оптимизация (scipy.optimize):
📌 Методы минимизации и максимизации функций.
📌 Решение уравнений и систем уравнений и т.д.
✅ Статистика (scipy.stats):
📌 Большое количество статистических распределений.
📌 Статистические тесты и методы и т.д.
Вот пример, демонстрирующий использование SciPy для интегрирования функции и решения системы линейных уравнений:
```
import numpy as np
from scipy import integrate, linalg
# Интеграция функции
def f(x):
return np.sin(x)
integral, error = integrate.quad(f, 0, np.pi)
print(f"Integral of sin(x) from 0 to pi: {integral}")
# Решение системы линейных уравнений
A = np.array([[3, 1], [1, 2]])
b = np.array([9, 8])
x = linalg.solve(A, b)
print(f"Solution of the system:\n{x}")
```
?? Находим среднее, медиану и моду в Python.
Как легко и быстро посчитать среднее, медиану и моду в Python? Для этого можно воспользоваться библиотекой statistics.
✅ Среднее значение: statistics.mean(data) вычисляет среднее значение набора данных.
✅ Медиана: statistics.median(data) вычисляет медиану набора данных. Напомню, что медиана — это значение, которое делит набор данных на две равные части.
✅ Мода: statistics.mode(data) вычисляет моду набора данных. Мода — это значение, которое чаще всего встречается в наборе данных.
В случае, если мода не может быть определена (например, все значения уникальны), возникает исключение statistics.StatisticsError, которое можно обработать.
✅ Вывод всех мод: statistics.multimode(data) возвращает все моды в наборе данных. Это полезно, если в данных может быть несколько мод или если мода не определена.
```
import statistics
# Набор данных
data = [56.5, 60.3, 58.7, 57.2, 56.5, 59.1, 59.1, 60.8, 55.9, 58.3]
# Вычисление среднего значения
mean_value = statistics.mean(data)
print(f"Среднее значение: {mean_value}")
# Вычисление медианы
median_value = statistics.median(data)
print(f"Медиана: {median_value}")
# Вычисление моды (если есть несколько значений с одинаковой частотой, будет возвращена первая мода)
try:
mode_value = statistics.mode(data)
print(f"Мода: {mode_value}")
except statistics.StatisticsError:
print("Мода не определена (нет повторяющихся значений)")
# Если в данных может быть несколько мод или если мода не определена, можно использовать multimode
multimode_value = statistics.multimode(data)
print(f"Все моды: {multimode_value}")
```
? Тренируем применение matplotlib
Вам необходимо создать визуализацию изменения погодных условий в течение года для определенного города. Для этого вы будете использовать данные о температуре, осадках и скорости ветра. Визуализация должна включать следующие элементы:
✅ Линейный график для отображения средней температуры по месяцам.
✅ Столбчатая диаграмма для отображения количества осадков по месяцам.
✅ График с областями (area plot) для отображения скорости ветра по месяцам.
✅ Дополнительный элемент: аннотации для отображения месяцев с экстремальными значениями (самая высокая и самая низкая температура, наибольшее количество осадков, самая высокая скорость ветра).
? Пример данных:
```
import pandas as pd
data = {
'Month': ['January', 'February', 'March', 'April', 'May', 'June',
'July', 'August', 'September', 'October', 'November', 'December'],
'Average Temperature (C)': [-2, 0, 5, 10, 15, 20, 22, 21, 17, 10, 5, 0],
'Precipitation (mm)': [30, 20, 25, 50, 60, 70, 80, 75, 65, 50, 40, 35],
'Wind Speed (km/h)': [5, 6, 7, 10, 12, 15, 14, 13, 10, 8, 6, 5]
}
weather_df = pd.DataFrame(data)
```
? Пример решения — в .py файле, прикрепленном в комментариях!
? Лайфхаки при работе с matplotlib
Хочу поделиться с вами несколькими способами увеличения эффективности работы с matplotlib.
✅ Используйте стиль оформления
Matplotlib поддерживает различные стили оформления, которые могут сделать ваши графики более привлекательными.
```
import matplotlib.pyplot as plt
# Список доступных стилей
print(plt.style.available)
# Применение стиля оформления
plt.style.use('ggplot')
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.plot(x, y)
plt.title("Styled Plot with ggplot")
plt.show()
```
✅ Создание нескольких графиков с помощью subplots
Вы можете создать несколько графиков в одном окне.
```
import matplotlib.pyplot as plt
fig, axs = plt.subplots(2, 2)
x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [1, 2, 3, 4, 5]
y3 = [2, 3, 5, 7, 11]
y4 = [5, 7, 8, 6, 4]
axs[0, 0].plot(x, y1)
axs[0, 0].set_title('Squared')
axs[0, 1].plot(x, y2)
axs[0, 1].set_title('Linear')
axs[1, 0].plot(x, y3)
axs[1, 0].set_title('Prime')
axs[1, 1].plot(x, y4)
axs[1, 1].set_title('Mixed')
plt.tight_layout()
plt.show()
```
✅ Настройка размера фигуры
Вы можете изменить размер фигуры для создания более удобных для чтения графиков.
```
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]
plt.figure(figsize=(10, 6))
plt.plot(x, y)
plt.title("Plot with Custom Figure Size")
plt.show()
```
❗️ Друзья, я запустил своего телеграм-бота.
Этот бот очень полезен при работе с видео/аудио материалами. Он может:
✅ Отправить субтитры YouTube видео
✅ Перевести видео или аудио в текст
✅ Кратко изложить суть видео или аудио
Функционал будет непременно расширяться! Заходите и пользуйтесь!
?? Git - полезный инструмент для аналитика/разработчика
Сегодня мы поговорим об одном важном инструменте, который может быть очень полезен в работе аналитика/разработчика и однозначно добавит вес вашему резюме.
*? *Git - это система управления версиями, которая используется для отслеживания изменений в исходном коде и координации работы нескольких разработчиков над проектом. Среди основных причин, по которым полезно знать Git:
✅ Отслеживание изменений: Git позволяет отслеживать изменения в файлах вашего проекта. Это позволяет вам вернуться к предыдущим версиям файлов, если что-то пошло не так, или сравнивать различные версии файлов.
✅ Совместная работа: Git упрощает совместную работу нескольких разработчиков над одним проектом. Он позволяет разработчикам работать над своими изменениями в отдельных ветках, а затем объединять эти изменения в основную ветку.
Откат к предыдущим версиям: Git позволяет легко откатываться к предыдущим версиям проекта, если что-то идет не так. Это особенно полезно в случае внесения ошибочных изменений или неожиданных проблем.
✅ Ветвление и слияние: Git облегчает создание новых веток для разработки новых функций или исправления ошибок. Это позволяет изолировать изменения и управлять ими независимо друг от друга. После завершения работы ветки можно объединить с основной веткой.
✅ Работа с удаленными репозиториями: Git поддерживает работу с удаленными репозиториями. Это позволяет делиться своим кодом с другими разработчиками, вносить вклад в открытые проекты и обмениваться изменениями с командой.
Самая популярная платформа для хостинга Git-репозиториев - это GitHub. На GitHub можно очень удобно управлять вашими проектами, о чем мы поговорим в ближайшее время.
? Модуль datetime
Модуль datetime в Python предоставляет классы и функции для работы с датами и временем.
✅ Классы:
? datetime: Позволяет представлять дату и время вместе. Объекты этого класса имеют атрибуты year, month, day, hour, minute, second и microsecond.
? date: Представляет только дату, без времени. Объекты этого класса имеют атрибуты year, month и day.
? time: Представляет только время, без даты. Объекты этого класса имеют атрибуты hour, minute, second и microsecond.
? timedelta: Представляет разницу между двумя датами или временами. Объекты этого класса могут быть использованы для арифметических операций с датами и временем.
✅ Функции:
? now(): Возвращает текущую дату и время.
? combine(date, time): Объединяет объекты date и time в один объект datetime.
? strptime(date_string, format): Преобразует строку в объект datetime с заданным форматом.
? strftime(format): Преобразует объект datetime в строку с заданным форматом.
? timedelta(days, seconds, microseconds, milliseconds, minutes, hours, weeks): Создает объект timedelta с указанным количеством дней, секунд, микросекунд и т. д.
✅ Примеры использования модуля:
```
from datetime import datetime, timedelta
# Получение текущей даты и времени
now = datetime.now()
print("Текущая дата и время:", now)
# Создание объекта datetime с заданной датой и временем
specific_date = datetime(2023, 5, 15, 10, 30, 0)
print("Заданная дата и время:", specific_date)
# Разница между двумя датами
difference = specific_date - now
print("Разница между датами:", difference)
# Форматирование даты и времени в строку
formatted_date = now.strftime("%Y-%m-%d %H:%M:%S")
print("Форматированная дата и время:", formatted_date)
# Преобразование строки в объект datetime
date_string = "2024-10-20 15:45:00"
converted_date = datetime.strptime(date_string, "%Y-%m-%d %H:%M:%S")
print("Преобразованная дата и время:", converted_date)
# Создание timedelta
delta = timedelta(days=7)
print("Timedelta:", delta)
# Добавление timedelta к объекту datetime
new_date = now + delta
print("Новая дата и время:", new_date)
```
Бизнес блог #1
Выжимаю книги до самой сути.
? Реклама - @jaMasha
? Хотите свою книгу? Мы напишем её за вас и сделаем книгу бестселлером. Подробности в боте @Summary_library_bot
? Оставьте след в истории с помощью книги
https://expert-book.pro
Фильмы и сериалы со всей планеты. Мы знаем, что посмотреть, где посмотреть и на что сходить в кино.
Last updated 4 days, 10 hours ago
Все материалы размещены по партнёрской програме ivi.ru | All materials are posted on the partner program ivi.ru
По всем вопросам: @kuzr103
Купить рекламу: https://telega.in/c/k1noxa103
Основной канал: https://t.me/kino_hd2
Last updated 2 weeks, 3 days ago