要按年份分组的多次绘图数据的年度月度数据,可以使用Python中的pandas和matplotlib库来实现。下面是一个代码示例,展示了如何处理和绘制这种数据。
首先,导入所需的库:
import pandas as pd
import matplotlib.pyplot as plt
然后,创建一个包含年份和月份的日期时间序列:
dates = pd.date_range(start='2010-01-01', end='2022-12-31', freq='M')
接下来,创建一个包含多次绘图数据的DataFrame,其中每列代表一个月份的数据,每行代表一个年份的数据:
data = pd.DataFrame(index=range(2010, 2023), columns=dates)
然后,使用一些随机数据填充DataFrame:
import random
for year in range(2010, 2023):
for month in range(1, 13):
data.loc[year, pd.to_datetime(f'{year}-{month:02d}-01')] = random.randint(1, 100)
现在,可以按年份分组,并计算每个月份的平均值:
grouped_data = data.groupby(data.index.year).mean()
最后,可以绘制每个年份的月度数据:
grouped_data.T.plot(legend=True)
plt.xlabel('Month')
plt.ylabel('Data')
plt.title('Yearly Monthly Data')
plt.show()
完整的代码示例如下:
import pandas as pd
import matplotlib.pyplot as plt
# 创建日期时间序列
dates = pd.date_range(start='2010-01-01', end='2022-12-31', freq='M')
# 创建数据框
data = pd.DataFrame(index=range(2010, 2023), columns=dates)
# 填充数据框
import random
for year in range(2010, 2023):
for month in range(1, 13):
data.loc[year, pd.to_datetime(f'{year}-{month:02d}-01')] = random.randint(1, 100)
# 按年份分组并计算平均值
grouped_data = data.groupby(data.index.year).mean()
# 绘制图表
grouped_data.T.plot(legend=True)
plt.xlabel('Month')
plt.ylabel('Data')
plt.title('Yearly Monthly Data')
plt.show()
这个代码示例将生成一个按年份分组的多次绘图数据的年度月度数据图表。每个年份的数据将显示为一条曲线,横轴表示月份,纵轴表示数据值。
上一篇:按年份分组的案例百分比
下一篇:按年份分组的数据透视表