根据某餐厅日常销售数据(catering_sale.xls)进行数据质量分析,缺失值过滤,过滤掉含有缺失值记录,异常检测,绘制箱图,进行必要的类型转换Timestamp,并保留箱图上的数据,。
时间: 2024-03-09 12:49:36 浏览: 85
数据质量检查
好的,下面是代码实现:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取excel数据
df = pd.read_excel('catering_sale.xls')
# 过滤缺失值记录
df.dropna(inplace=True)
# 将日期时间转换为Timestamp类型
df['日期'] = pd.to_datetime(df['日期'])
# 绘制箱图并保存数据
box_data = plt.boxplot(df.iloc[:, 1:].values, sym='o', whis=1.5)
# 获取箱图上的数据
outliers = [flier.get_ydata() for flier in box_data['fliers']]
caps = [cap.get_ydata() for cap in box_data['caps']]
whiskers = [whisker.get_ydata() for whisker in box_data['whiskers']]
medians = [median.get_ydata() for median in box_data['medians']]
boxes = [box.get_ydata() for box in box_data['boxes']]
# 显示箱图
plt.show()
```
这段代码基本与之前的代码相同,只是在绘制箱图时,使用 `boxplot` 方法返回的返回值中包含了箱图上的所有数据。我们将这些数据保存在 `box_data` 变量中。然后使用列表推导式分别获取箱图上的异常值、箱体边缘、须、中位数和箱体。最后使用 `show` 方法显示图像。
需要注意的是,`box_data` 变量中包含的数据的结构比较复杂,需要使用 `fliers`、`caps`、`whiskers`、`medians` 和 `boxes` 等属性分别获取异常值、箱体边缘、须、中位数和箱体的数据。
阅读全文