當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python pandas.DataFrame.quantile用法及代碼示例

用法:

DataFrame.quantile(q=0.5, axis=0, numeric_only=True, interpolation='linear')

返回請求軸上給定分位數的值。

參數

qfloat 或 array-like,默認 0.5(50% 分位數)

0 <= q <= 1 之間的值,即要計算的分位數。

axis{0, 1, ‘index’, ‘columns’},默認 0

等於 0 或 ‘index’ 表示逐行,1 或 ‘columns’ 表示逐列。

numeric_only布爾值,默認為真

如果為 False,還將計算 datetime 和 timedelta 數據的分位數。

interpolation{‘linear’, ‘lower’, ‘higher’, ‘midpoint’, ‘nearest’}

當所需的分位數位於兩個數據點 ij 之間時,此可選參數指定要使用的插值方法:

  • 線性: i + (j - i) * fraction ,其中 fraction 是由 ij 包圍的索引的小數部分。

  • 下:i

  • 更高:j

  • 最近:ij 以最近的為準。

  • 中點:(i + j)/2。

返回

Series或DataFrame

如果q 是一個數組,將返回一個 DataFrame,其中

索引是q,列是self的列,值是分位數。

如果q 是浮點數,則將返回一個係列,其中

index 是 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
Name:0.1, 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

相關用法


注:本文由純淨天空篩選整理自pandas.pydata.org大神的英文原創作品 pandas.DataFrame.quantile。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。