有一个数据框 X1 X2 X3 X4 X5 X6 X7 城市 上海 5408.8 717.8 2158.4 726.6 13250 36206 52645 北京 3130.0 534.0 1814.3 872.3 12464 24077 61369 对两个城市的7个指标绘制两个正态分布检验图对数据的正态性进行直观检验
时间: 2024-02-15 22:01:17 浏览: 108
可以使用 Python 中的 `scipy.stats` 模块来进行正态性检验,并使用 `matplotlib` 模块绘制正态分布检验图。
以下是代码示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
# 创建数据框
data = {'城市': ['上海', '北京'],
'X1': [5408.8, 3130.0],
'X2': [717.8, 534.0],
'X3': [2158.4, 1814.3],
'X4': [726.6, 872.3],
'X5': [13250, 12464],
'X6': [36206, 24077],
'X7': [52645, 61369]}
df = pd.DataFrame(data)
# 提取上海和北京的数据
shanghai_data = df.iloc[0, 1:]
beijing_data = df.iloc[1, 1:]
# 正态性检验
shapiro_test = stats.shapiro(shanghai_data)
sm.qqplot(shanghai_data, line='s')
beijing_test = stats.shapiro(beijing_data)
sm.qqplot(beijing_data, line='s')
# 绘制正态分布检验图
plt.show()
```
运行以上代码后,会生成两张正态分布检验图,分别对上海和北京两个城市的7个指标进行正态性检验。如果数据服从正态分布,那么在图中应该看到数据点大致落在一条直线上。如果数据不服从正态分布,那么数据点会偏离直线。同时,通过正态性检验的 p 值可以判断数据是否显著不服从正态分布。如果 p 值小于显著性水平(通常取 0.05),那么拒绝原假设,即认为数据不服从正态分布。
阅读全文