pandas.DataFrame.quantile
-
DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')[source] -
Возвращает значения в заданном квантиле по указанной оси, аналогично numpy.percentile.
Параметры: q : float или массив, по умолчанию 0,5 (50% квантиль)
0 ≤ q ≤ 1, квантиль(и) для вычисления
axis : {0, 1, ‘индекс’, ‘колонки’} (по умолчанию 0)
0 или ‘индекс’ для строчных вычислений, 1 или ‘колонки’ для столбцовых вычислений
numeric_only : boolean, по умолчанию True
Если False, квантиль значений типа datetime и timedelta также будет вычислен
interpolation : {‘линейный’, ‘нижний’, ‘верхний’, ‘середина’, ‘ближайший’}
Введено в версии 0.18.0.
Этот необязательный параметр определяет метод интерполяции, который используется, когда желаемый квантиль находится между двумя точками данных
iиj:- линейный:
i + (j - i) * fraction, гдеfraction- дробная часть индекса, окруженнаяiиj. - нижний:
i. - верхний:
j. - ближайший:
iилиj, что ближе. - середина: (
i+j) / 2.
Возвращает: квантили : Series или DataFrame
- Если
qявляется массивом, будет возвращён DataFrame, где индекс -q, столбцы - столбцы self, а значения - квантили. - Если
q- float, будет возвращена Series, где индекс - столбцы self, а значения - квантили.
См. также
Примеры
>>> df = pd.DataFrame(np.array([[1, 1], [2, 10], [3, 100], [4, 100]]), columns=['a', 'b']) >>> df.quantile(.1) a 1.3 b 3.7 dtype: float64 >>> df.quantile([.1, .5]) a b 0.1 1.3 3.7 0.5 2.5 55.0Указание
numeric_only=Falseтакже вычислит квантиль данных типа datetime и timedelta.>>> df = pd.DataFrame({'A': [1, 2], 'B': [pd.Timestamp('2010'), pd.Timestamp('2011')], 'C': [pd.Timedelta('1 days'), pd.Timedelta('2 days')]}) >>> df.quantile(0.5, numeric_only=False) A 1.5 B 2010-07-02 12:00:00 C 1 days 12:00:00 Name: 0.5, dtype: object - линейный:
© 2008–2012, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/0.23.4/generated/pandas.DataFrame.quantile.html