pandas.DataFrame.quantile 方法是一个非常灵活且强大的工具,可以帮助快速获取数据的分位数信息,从而更好地理解数据的分布、识别异常值等。掌握好 quantile 方法及其参数,能让你在数据分析工作中更加高效。本文主要介绍一下Pandas中pandas.DataFrame.quantile方法的使用。

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

返回在请求轴上的给定的quantile值。

参数

q : float 或 array-like, 默认 0.5 (50% quantile)

要计算的quantile值在 0 <= q <= 1之间。

axis : {0, 1, ‘index’, ‘columns’} (默认为 0)

行为0' index ',列为1'columns'

numeric_only : bool,默认值True

如果为False,也将计算datetimetimedelta数据的quantile。

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

这个可选参数指定了当所需quantile位于两个数据点i和j之间时要使用的插值方法:

1) linear: i + (j - i) *fraction,其中分数是指数中被i和j包围的小数部分。

2) loweri

3) higher: j

4) nearest: ij,以最接近的为准。

5) midpoint(i + j) / 2 

返回值

Series DataFrame

如果q是数组,则将返回DataFrame,其中

index是q,列是self的列,值是quantiles。

如果qfloat,则在

indexself的列,值是quantiles。

例子

import pandas as pd

# 示例数据
df = pd.DataFrame({
    'A': [1, 2, 3, 4],
    'B': [10, 20, 30, 40],
    'C': [100, 50, 30, 20]
})

# 计算每列的中位数(默认 q=0.5)
print(df.quantile())

# 计算 25%、50%、75% 分位数
print(df.quantile([0.25, 0.5, 0.75]))

# 按行计算中位数
print(df.quantile(q=0.5, axis=1))

包括日期时间与时间增量列,设置 numeric_only=False

import pandas as pd

df2 = pd.DataFrame({
    'A': [1, 2],
    'B': [pd.Timestamp('2010'), pd.Timestamp('2011')],
    'C': [pd.Timedelta('1 days'), pd.Timedelta('2 days')]
})

# 计算中位数(q=0.5),包含所有可支持类型
print(df2.quantile(0.5, numeric_only=False))

推荐文档

相关文档

大家感兴趣的内容

随机列表