假设有数据属性取值(以递增序)为 5、9、13、15、16、17、19、21、22、 22、25、26、26、29、30、32、39、52。通过Python编程,分别计算该列数的均值、中位数、众数,并粗略估计第一四分位数和第三四分位数,绘制该数据的箱线图
时间: 2024-09-06 13:03:31 浏览: 144
首先,让我们来计算这组数据的均值(平均值)、中位数、众数,以及第一四分位数(Q1)和第三四分位数(Q3),并绘制箱线图。
```python
import numpy as np
import pandas as pd
from scipy import stats
import matplotlib.pyplot as plt
# 数据列表
data = [5, 9, 13, 15, 16, 17, 19, 21, 22, 22, 25, 26, 26, 29, 30, 32, 39, 52]
# 计算统计量
mean = np.mean(data)
median = np.median(data)
mode = stats.mode(data)[0][0] if len(stats.mode(data)) > 0 else None # 检查是否有众数
q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
print(f"均值:{mean}")
print(f"中位数:{median}")
print(f"众数:{mode}")
print(f"第一四分位数(Q1):{q1}")
print(f"第三四分位数(Q3):{q3}")
# 绘制箱线图
plt.boxplot(data)
plt.ylabel('数值')
plt.title('数据分布箱线图')
plt.show()
```
上述代码会首先导入必要的库,然后计算给定数据的统计指标,并显示结果。接着,它会利用`boxplot`函数生成箱线图,直观地展示数据的分布情况。
阅读全文