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描述性统计对数据进行分析,以便更好地理解和解释数据。