Метод min
Метод min аксессора expanding применяется к Series или DataFrame
и вычисляет минимальное значение в расширяющемся окне. Расширяющееся окно включает все
предыдущие элементы от начала последовательности до текущей позиции. Метод полезен
для анализа кумулятивных минимумов в данных, например, для отслеживания минимальных
значений курса валют или минимальных температур за весь период наблюдений.
Первым параметром можно передать минимальное количество наблюдений, необходимое
для вычисления значения.
Синтаксис
df.expanding([min_periods]).min()
Пример
Давайте вычислим кумулятивный минимум для столбца 'a':
import pandas as pd
df = pd.DataFrame({
'a': [5, 3, 7, 2, 8],
'b': [10, 20, 30, 40, 50]
})
res = df['a'].expanding().min()
print(res)
Результат выполнения кода:
0 5.0
1 3.0
2 3.0
3 2.0
4 2.0
dtype: float64
Пример
Применим метод ко всем столбцам таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [5, 3, 7, 2, 8],
'b': [10, 20, 5, 40, 30]
})
res = df.expanding().min()
print(res)
Результат выполнения кода:
a b
0 5.0 10.0
1 3.0 10.0
2 3.0 5.0
3 2.0 5.0
4 2.0 5.0
Пример
Используем параметр min_periods, чтобы задать минимальное количество
наблюдений для вычисления значения:
import pandas as pd
df = pd.DataFrame({
'a': [5, 3, 7, 2, 8],
'b': [10, 20, 5, 40, 30]
})
res = df.expanding(min_periods=3).min()
print(res)
Результат выполнения кода:
a b
0 NaN NaN
1 NaN NaN
2 3.0 5.0
3 2.0 5.0
4 2.0 5.0
Пример
Рассмотрим работу метода с пропущенными значениями:
import pandas as pd
import numpy as np
ser = pd.Series([5, np.nan, 3, 7, 2])
res = ser.expanding().min()
print(res)
Результат выполнения кода:
0 5.0
1 NaN
2 3.0
3 3.0
4 2.0
dtype: float64