Привет! Сегодня мы собираемся погрузиться в мир скользящих средних в Python. Но прежде чем мы перейдем к коду, давайте быстро объясним, что такое скользящее среднее. Скользящее среднее, также известное как скользящее среднее, – это статистический расчет, который сглаживает колебания данных за определенный период времени.
В Python есть несколько мощных библиотек, таких как Pandas и NumPy, которые упрощают расчет скользящих средних. Итак, давайте рассмотрим несколько различных способов добиться этого!
Метод 1: использование функции rolling
Pandas
Pandas предоставляет встроенную функцию rolling
, которую можно использовать для расчета скользящих средних. Вот простой пример:
import pandas as pd
# Create a sample DataFrame
data = {'values': [10, 20, 30, 40, 50]}
df = pd.DataFrame(data)
# Calculate a rolling average over a window of 2
df['rolling_avg'] = df['values'].rolling(window=2).mean()
print(df)
Выход:
values rolling_avg
0 10 NaN
1 20 15.0
2 30 25.0
3 40 35.0
4 50 45.0
Метод 2: использование функции convolve
NumPy
NumPy предоставляет мощную функцию под названием convolve
, которую можно использовать для расчета скользящего среднего. Взгляните на этот пример:
import numpy as np
# Create a sample array
data = np.array([10, 20, 30, 40, 50])
# Calculate a rolling average over a window of 3 using convolution
window = np.ones(3) / 3
rolling_avg = np.convolve(data, window, mode='valid')
print(rolling_avg)
Выход:
[20. 30. 40.]
Метод 3: использование функции rolling_mean
(устарело)
В старых версиях Pandas существовала устаревшая функция rolling_mean
, предоставлявшая аналогичную функциональность. Однако вместо этого рекомендуется использовать функцию rolling
. Вот пример использования rolling_mean
:
import pandas as pd
# Create a sample Series
data = pd.Series([10, 20, 30, 40, 50])
# Calculate a rolling average over a window of 2 using rolling_mean (deprecated)
rolling_avg = pd.rolling_mean(data, window=2)
print(rolling_avg)
Выход:
0 NaN
1 15.0
2 25.0
3 35.0
4 45.0
dtype: float64
Помните, что функция rolling
в Pandas сейчас является рекомендуемым способом расчета скользящих средних.
Подведение итогов
В этой статье мы рассмотрели три различных метода расчета скользящих средних в Python. Мы использовали функцию rolling
Pandas, функцию convolve
NumPy и кратко упомянули устаревшую функцию rolling_mean
.
Используя эти методы, вы сможете легко сгладить данные и получить представление о долгосрочных тенденциях. Независимо от того, анализируете ли вы финансовые данные или работаете с данными временных рядов, скользящие средние – это удобный инструмент, который обязательно должен быть в вашем наборе инструментов для анализа данных.
Так что давайте, попробуйте эти методы и начните получать средние значения! Приятного кодирования!