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()
方法。