要将当周数据与往年同周数据进行比较,可以按照以下步骤进行:
(今年数据 - 去年数据) / 去年数据 * 100%
来计算同比变化率。import pandas as pd
import matplotlib.pyplot as plt
# 假设df是一个包含年份、周数和数据的DataFrame
# df = pd.read_csv('your_data.csv') # 加载数据
# 示例数据
data = {
'Year': [2020, 2020, 2021, 2021, 2022, 2022],
'Week': [1, 2, 1, 2, 1, 2],
'Value': [100, 150, 120, 170, 130, 160]
}
df = pd.DataFrame(data)
# 计算同比变化率
df['YoY_Change'] = df.groupby('Week')['Value'].pct_change(periods=2) * 100
# 可视化
plt.figure(figsize=(10, 5))
for week in df['Week'].unique():
subset = df[df['Week'] == week]
plt.plot(subset['Year'], subset['Value'], marker='o', label=f'Week {week}')
plt.legend()
plt.title('Year-over-Year Comparison by Week')
plt.xlabel('Year')
plt.ylabel('Value')
plt.grid(True)
plt.show()
通过以上步骤和方法,可以有效地进行当周数据与往年同周数据的比较分析。