如何计算第一和第三个四分位数?

2024-04-20 14:15:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有数据帧:

    time_diff   avg_trips
0   0.450000    1.0
1   0.483333    1.0
2   0.500000    1.0
3   0.516667    1.0
4   0.533333    2.0

我想得到第1个四分位数,第3个四分位数和列time_diff的中值。为了获得中值,我使用np.median(df["time_diff"].values)

我如何计算四分位数?


Tags: 数据dftimenpdiffavgmedianvalues
3条回答

通过使用pandas

df.time_diff.quantile([0.25,0.5,0.75])


Out[793]: 
0.25    0.483333
0.50    0.500000
0.75    0.516667
Name: time_diff, dtype: float64

您可以使用^{}计算四分位数(包括中值):

>>> np.percentile(df.time_diff, 25)  # Q1
0.48333300000000001

>>> np.percentile(df.time_diff, 50)  # median
0.5

>>> np.percentile(df.time_diff, 75)  # Q3
0.51666699999999999

或者一下子:

>>> np.percentile(df.time_diff, [25, 50, 75])
array([ 0.483333,  0.5     ,  0.516667])

巧合的是,这个信息是用describe方法捕获的:

df.time_diff.describe()

count    5.000000
mean     0.496667
std      0.032059
min      0.450000
25%      0.483333
50%      0.500000
75%      0.516667
max      0.533333
Name: time_diff, dtype: float64

相关问题 更多 >