python 描述性统计

1. Python 描述性统计是什么

Python 描述性统计是指使用Python对数据进行总体分析和展示的一种统计方法。它可以对数据进行基本的表格统计,例如计算均值、中位数、标准差和四分位数等,同时还能绘制多种数据图表,如直方图、箱线图和散点图等,以直观地展现数据的分布情况。

2. Python 描述性统计中常用的库

2.1 NumPy库

NumPy是Python中用于科学计算和数据分析的基础库之一。

NumPy中的基本对象是多维数组,通过使用NumPy的函数,可以对这些数组进行各种操作,例如计算示例代码中的均值、中位数和标准差。

import numpy as np

# 生成一组随机数据

data = np.random.normal(loc=10, scale=5, size=100)

# 计算均值、中位数和标准差

mean = np.mean(data)

median = np.median(data)

std = np.std(data)

print("均值:", mean)

print("中位数:", median)

print("标准差:", std)

2.2 Pandas库

Pandas是Python中用于数据操作和处理的库。

Pandas中最常用的数据结构是DataFrame,它是一个二维的表格型数据结构,每列可以是不同类型的数据(例如数字、字符串和布尔型数据等)。通过使用Pandas的函数,可以对DataFrame进行各种操作,例如筛选数据、计算统计量和绘制图表等。

import pandas as pd

# 生成一组随机数据

data = {'A': [1, 2, 3, 4, 5], 'B': [10, 20, 30, 40, 50]}

df = pd.DataFrame(data)

# 计算统计量

mean = df.mean()

median = df.median()

std = df.std()

print("均值:\n", mean)

print("中位数:\n", median)

print("标准差:\n", std)

3. Python 描述性统计实例

下面,我们举个例子演示如何使用Python进行描述性统计分析。

3.1 准备数据

首先,我们需要准备一组数据。这里,我们以某个公司的员工薪资为例:

import numpy as np

# 生成一组随机数据

salary = np.random.normal(loc=5000, scale=1000, size=50)

其中,loc表示均值,scale表示标准差,size表示样本数量。

3.2 分析数据

接下来,我们使用Python对这组数据进行分析。

3.2.1 计算均值、中位数和标准差

# 计算均值、中位数和标准差

mean = np.mean(salary)

median = np.median(salary)

std = np.std(salary)

print("均值:", mean)

print("中位数:", median)

print("标准差:", std)

输出结果如下:

均值: 5012.812176191543

中位数: 5002.063342289981

标准差: 979.0762577903362

根据输出结果,我们可以得出以下结论:

这组数据的均值为5012.81元。

这组数据的中位数为5002.06元。

这组数据的标准差为979.08元。

3.2.2 绘制直方图和核密度估计图

接下来,我们使用Matplotlib库绘制这组数据的直方图和核密度估计图。

from matplotlib import pyplot as plt

# 绘制直方图

plt.hist(salary, bins=10, density=True, alpha=0.5, color='b')

plt.xlabel('Salary')

plt.ylabel('Probability Density')

plt.title('Histogram of Salary')

plt.show()

# 绘制核密度估计图

sns.kdeplot(salary, shade=True, color='r')

plt.xlabel('Salary')

plt.ylabel('Density')

plt.title('Kernel Density Estimation of Salary')

plt.show()

输出结果如下:

根据图表,我们可以得出以下结论:

这组数据的分布近似于正态分布。

这组数据的均值在正态分布曲线的正中央,符合期望。

这组数据的标准差较小,呈现出一定的集中趋势。

3.2.3 绘制箱线图

接下来,我们使用Seaborn库绘制这组数据的箱线图。

import seaborn as sns

# 绘制箱线图

sns.boxplot(y=salary, color='b')

plt.ylabel('Salary')

plt.title('Box Plot of Salary')

plt.show()

输出结果如下:

根据箱线图,我们可以得出以下结论:

这组数据的中位数位于箱线的中间部分。

这组数据的25%分位数位于箱线的下端,75%分位数位于箱线的上端。

这组数据有一定的离散程度,在上下小提琴处存在一些离群点。

4. 总结

Python 描述性统计是一种可以对数据进行总体分析和展示的统计方法。通过使用Python的NumPy库和Pandas库,我们可以计算数据的基本统计量和绘制多种图表,以直观地展现数据的分布情况。在实际应用中,我们可以使用Python描述性统计对数据进行分析,以便更好地理解和解释数据。

后端开发标签