Pandas 数据帧quantile()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-quantile-method

在统计学中,分位数是指将数据集分成两个相等部分的量。四分位数、百分位数和十分位数也是将数据分别分成四份、一百份和十份的分位数。

在本教程中,我们将讨论和学习 Python pandas DataFrame.quantile() 方法,该方法返回由所请求轴上给定分位数的值组成的序列或数据帧。在求分位数时,这种方法将数据按升序排列,我们可以用公式找到 q*(n+1) 的位置,其中q是分位数,n 是元素总数。

下图显示了DataFrame.quantile()方法的语法。

句法

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

因素

q: 表示浮点数或类似数组,默认值为 0.5 (50%分位数)。该值介于 0 < = q < = 1(要计算的分位数)之间。

轴:表示索引或列轴,索引为“0”,列为“1”,默认值为“0”。当axis=0功能应用于index轴时,以及当axis=1功能应用于column轴时。

numeric_only: 表示 bool(真或假),默认值为 True。如果参数为假,还将计算日期时间和时间增量数据的分位数。

插值:包括‘线性’、‘较低’、‘较高’、‘中点’、‘最近’。此可选参数指定要使用的插值方法。

示例:使用DataFrame.quantile()方法找到分位数

让我们创建一个数据帧,并使用DataFrame.quantile()方法找到 0.5 的分位数。计算位置为0.5*(4+1)=2.5,表示 50%的数据低于 2.5,50%的数据高于 2.5。

#importing pandas as pd
import pandas as pd
df=pd.DataFrame({'Age':[12,14,11,12],'Height':[135,140,138,147],'Weight':[35,38,30,45]})
print("---------The DataFrame is---------")
print(df)
print("-----------------")
print(df.quantile(0.5))

-数据帧为- 年龄身高体重 0 12 135 35 1 14 140 38 2 11 138 30 3 12 147 45 - 年龄 12.0 身高 139.0 体重 36.5 姓名:0.5,数据类型:float64

示例 2:使用DataFrame.quantile()方法找到分位数

让我们以升序创建一个数据帧,并使用DataFrame.quantile()方法找到 0.35 的分位数。计算位置为0.35*(5+1)=2.1,表示 35%的数据低于 2.1,35%的数据高于 2.5。分位数方法将数据集精确地分成两个相等的部分。见下面的例子。

#importing pandas as pd
import pandas as pd
df=pd.DataFrame({'Age':[11,12,13,14,15],'Height':[135,140,138,147,145],'Weight':[35,38,30,45,45]})
print("---------The DataFrame is---------")
print(df)
print("-----------------")
print(df.quantile(0.35))

-数据帧为- 年龄身高体重 0 11 135 35 1 12 140 38 2 13 138 30 3 14 147 45 4 15 145 45 - 年龄 12.4 身高 138.8 体重 36.2 姓名:0.35,数据类型:float64

示例 3:使用DataFrame.quantile()方法找到分位数

让我们创建一个数据帧,并通过使用DataFrame.quantile()方法在列表或元组中给出值来找到 0.25 和 0.75 的分位数。DataFrame.quantile()方法返回分位数为 0.25 和 0.75 的值。见下面的例子。

#importing pandas as pd
import pandas as pd
df=pd.DataFrame({'Age':[11,12,13,14,15],'Height':[135,140,138,147,145],'Weight':[35,38,30,45,45]})
print("---------The DataFrame is---------")
print(df)
print("-----------------")
print(df.quantile([0.25,0.75]))

-数据帧为- 年龄身高体重 0 11 135 35 1 12 140 38 2 13 138 30 3 14 147 45 4 15 145 45 - 年龄身高体重 0.25 12.0 138.0 35.0 0.75 14.0 145.0 45.0

示例:使用DataFrame.quantile()方法找到分位数

让我们创建一个数据帧,使用列轴上的DataFrame.quantile()方法找到 0.5 的分位数。参见下面的示例,在索引“0”处,三个值的分位数是 35.0,在索引“1”处,三个值的分位数是 38.0,以此类推。

#importing pandas as pd
import pandas as pd
df=pd.DataFrame({'Age':[11,12,13,14,15],'Height':[135,140,138,147,145],'Weight':[35,38,30,45,45]})
print(df.quantile(0.5,axis=1))

0 35.0 1 38.0 2 30.0 3 45.0 4 45.0 名称:0.5,数据类型:float64

结论

在本教程中,我们学习了 PandasDataFrame.quantile()方法。我们学习了语法、参数,并将该方法应用于数据帧,以理解 DataFrame.quantile()方法。