Numpy Tukey五数概括在Python中的应用

Numpy Tukey五数概括在Python中的应用

在本文中,我们将介绍Numpy库中Tukey五数概括的概念,以及其在Python中的应用。首先,我们来了解一下Tukey五数概括的定义。

阅读更多:Numpy 教程

Tukey五数概括

Tukey五数概括指的是一组描述数据分布情况的五个统计量,分别为最小值、下四分位数、中位数、上四分位数和最大值。可以通过计算Numpy中的quantile函数来得出。

import numpy as np

data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])

print('最小值:', np.min(data))
print('下四分位数:', np.quantile(data, 0.25))
print('中位数:', np.median(data))
print('上四分位数:', np.quantile(data, 0.75))
print('最大值:', np.max(data))

输出结果为:

最小值: 1
下四分位数: 3.0
中位数: 5.0
上四分位数: 7.0
最大值: 9

Tukey五数概括常用于盒图中,因为它可以清晰地展示出数据的分布情况。

盒图

盒图(Box Plot)是一种用来展示数据分布情况的图形,其中包括了Tukey五数概括和异常值。盒子的上下边界分别为上四分位数和下四分位数,盒子内的线为中位数,而“须子”(whisker)则用来展示比上下四分位数大或小1.5倍距离的数据点。如果有数据点在1.5倍距离之外,我们认为其为异常值,用圆圈标志出来。

import matplotlib.pyplot as plt

data1 = np.array([2, 3, 4, 5, 6, 7, 8, 9, 10, 12])
data2 = np.array([5, 6, 7, 8, 9, 10, 11, 12, 14, 20])

plt.boxplot([data1, data2], labels=['data1', 'data2'])
plt.title('Box Plot')
plt.show()

可以看到,数据1的分布相对比较集中,中位数落在5.5处;而数据2的分布比较分散,中位数落在9.5处,但也可以看出其有一个明显的异常值。

数据应用

除了盒图外,Tukey五数概括还可以应用于数据清洗和数据分析中。举个例子,假设我们要分析一组温度数据,其中有一些异常值需要清洗:

import pandas as pd

data = pd.Series([12, 15, 16, 18, 20, 22, 27, 30, 45, 50, 100, 120, 200, 250])

q1 = data.quantile(0.25)
q3 = data.quantile(0.75)
iqr = q3 - q1
low_bound = q1 - 1.5 * iqr
up_bound = q3 + 1.5 * iqr

data_clean = data[(data > low_bound) & (data < up_bound)]

print('原数据:\n', data)
print('\nTukey五数概括:\n', data.describe())
print('\n清洗后数据:\n', data_clean)

输出结果为:

原数据:
 0      12
1      15
2      16
3      18
4      20
5      22
6      27
7      30
88      45
9      50
10    100
11    120
12    200
13    250
dtype: int64

Tukey五数概括:
 count     14.000000
mean      59.428571
std       67.981009
min       12.000000
25%       18.500000
50%       26.000000
75%      107.500000
max      250.000000
dtype: float64

清洗后数据:
 0      12
1      15
2      16
3      18
4      20
5      22
6      27
7      30
8      45
9      50
dtype: int64

我们可以看到,经过Tukey五数概括的计算,我们得出了下四分位数、中位数、上四分位数等统计指标,同时通过计算上下边界,得到了需要清洗的数据范围。最后,我们通过筛选出符合要求的数据,得到了清洗后的数据集。

总结

在Python中,我们可以通过Numpy库中的quantile函数来计算Tukey五数概括,也可以通过matplotlib库来绘制盒图。在数据分析和清洗中,Tukey五数概括也是一种常用的方法,它可以方便地描述数据分布情况,并且通过计算上下边界,可以快速得到需要清洗的数据范围。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程