假设有数据属性取值(以递增序)为5,9,13,15,16,17,19,21,22,22,25,26,2629,30,32,39,52。使用python分别计算该列数的均值、中位数、众数,并粗略估计第一四分位数和第三四分位数,绘制该数据的箱线图。
时间: 2025-05-15 13:04:21 浏览: 38
### 使用Python计算统计数据并绘制箱线图
为了完成这些任务,可以使用`pandas`库中的功能以及`matplotlib`或`seaborn`来进行可视化。以下是详细的说明:
#### 导入必要的库
```python
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
```
#### 创建数据集
```python
data = [5, 9, 13, 15, 16, 17, 19, 21, 22, 22, 25, 26, 26, 29, 30, 32, 39, 52]
df = pd.Series(data)
```
#### 计算基本统计量
- **均值**:可以通过调用`.mean()`方法获得整个序列的平均值。
- **中位数**:通过`.median()`获取位于排序数组中央位置的数值[^2]。
- **众数**:利用`scipy.stats.mode()`找到出现频率最高的数值。
```python
mean_value = df.mean()
median_value = df.median()
mode_result = stats.mode(df)
print(f"Mean (Average): {mean_value}")
print(f"Median: {median_value}")
if mode_result.count[0] > 0:
print(f"Mode(s): {mode_result.mode[0]} with frequency of {mode_result.count[0]}")
else:
print("No clear mode found.")
```
#### 估算四分位数
- 可以借助于`.quantile([q])`函数来求取不同比例下的分位数,其中参数`q`表示所需的百分比位置;例如,要得到Q1(第一四分位),则设置`q=0.25`;对于Q3,则设为`q=0.75`[^1]。
```python
quartiles = df.quantile([0.25, 0.75])
print(f"First Quartile Q1: {quartiles[0.25]}")
print(f"Third Quartile Q3: {quartiles[0.75]}")
```
#### 绘制箱形图(Box Plot)
箱形图是一种用于显示一组数据分散情况资料的统计图,能够直观展示最小值、最大值、上下四分位数及异常点等信息。这里采用`matplotlib`库中的`boxplot()`函数实现绘图操作。
```python
plt.figure(figsize=(8, 6))
plt.boxplot(x=data, vert=False) # 设置水平方向上的箱型图
plt.title('Box plot')
plt.xlabel('Value')
plt.show()
```
上述代码片段展示了如何有效地运用Python及其相关库执行数据分析工作流的一部分——从基础描述性统计到图形化表达的关键步骤。
阅读全文
相关推荐


















