Метод quantile
Метод quantile применяется к DataFrame и возвращает значения квантилей для числовых столбцов. Первым параметром передаётся значение квантиля от 0 до 1, по умолчанию 0.5 (медиана). Метод также позволяет вычислять несколько квантилей одновременно, передавая список значений.
Основные параметры метода quantile: q - значение или список квантилей, axis - направление вычислений (по строкам или столбцам), numeric_only - учитывать только числовые данные, interpolation - метод интерполяции (linear, lower, higher, nearest, midpoint).
Синтаксис
df.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')
Пример
Давайте вычислим медиану таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.quantile()
print(res)
Результат выполнения кода:
a 3.0
b 30.0
Name: 0.5, dtype: float64
Пример
Давайте вычислим 25-й и 75-й процентили:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.quantile(q=[0.25, 0.75])
print(res)
Результат выполнения кода:
a b
0.25 2.0 20.0
0.75 4.0 40.0
Пример
Давайте вычислим квантили по строкам, используя параметр axis:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.quantile(q=0.5, axis=1)
print(res)
Результат выполнения кода:
0 5.5
1 11.0
2 16.5
3 22.0
4 27.5
dtype: float64
Пример
Давайте используем метод интерполяции midpoint для вычисления квантиля:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.quantile(q=0.3, interpolation='midpoint')
print(res)
Результат выполнения кода:
a 2.5
b 25.0
Name: 0.3, dtype: float64
Пример
Давайте вычислим несколько квантилей и получим результат в виде транспонированной таблицы:
import pandas as pd
df = pd.DataFrame({
'a': [1, 2, 3, 4, 5],
'b': [10, 20, 30, 40, 50]
})
res = df.quantile(q=[0.1, 0.5, 0.9]).T
print(res)
Результат выполнения кода:
0.1 0.5 0.9
a 1.4 3.0 4.6
b 14.0 30.0 46.0