python获取excel文件,多列数据分别为,取样时间,工艺编号,直径平均值,破断拉力,破断增量,首先通过取样时间进行分类,每周为一组,然后再根据工艺编号相同的数据为一组,查看每组数据的直径平均值,破断拉力和破断增量的值,然后输出折线图,所有数据在一张图上,要求有图例
时间: 2024-05-04 09:15:28 浏览: 103
和坐标轴标签。
以下是一个示例代码:
```python
import pandas as pd
import matplotlib.pyplot as plt
# 读取excel文件
df = pd.read_excel('data.xlsx')
# 根据取样时间进行分类,每周为一组
df['week'] = df['取样时间'].dt.week
grouped = df.groupby('week')
# 对每组数据再根据工艺编号进行分类
data = []
for name, group in grouped:
by_process = group.groupby('工艺编号')
for process, data_group in by_process:
# 获取直径平均值、破断拉力和破断增量的值
diameter_mean = data_group['直径平均值'].mean()
rupture_force = data_group['破断拉力'].mean()
rupture_increment = data_group['破断增量'].mean()
# 将数据存储到一个列表中
data.append({'week': name, 'process': process,
'diameter_mean': diameter_mean,
'rupture_force': rupture_force,
'rupture_increment': rupture_increment})
# 转换为DataFrame格式
df_data = pd.DataFrame(data)
# 绘制折线图
fig, ax = plt.subplots()
for process, group in df_data.groupby('process'):
ax.plot(group['week'], group['diameter_mean'], label=process)
ax.plot(group['week'], group['rupture_force'], label=process)
ax.plot(group['week'], group['rupture_increment'], label=process)
# 添加图例和坐标轴标签
ax.legend()
ax.set_xlabel('Week')
ax.set_ylabel('Values')
plt.show()
```
注意,以上仅为示例代码,具体实现需要根据实际情况进行调整。例如,可以更改图表类型、调整坐标轴范围、修改标签等。
阅读全文