使用pandas用一年的数据来看每周各天数据的变化
可以使用以下步骤:
1. 读入数据,确保日期列为pandas的datetime类型,并将其设置为索引。
import pandas as pd data = pd.read_csv("data.csv") data["date"] = pd.to_datetime(data["date"]) data.set_index("date", inplace=True)
2. 将数据按周进行分组,并计算每天的平均值。
weekly_data = data.resample("W").mean()
3. 对每周的数据进行透视以查看每天的平均值。
pivot_data = pd.pivot_table(weekly_data, values="value", index=weekly_data.index.weekday_name, columns=weekly_data.index.weekofyear)
4. 绘制热力图以可视化每周各天数据的变化。
import seaborn as sns import matplotlib.pyplot as plt sns.heatmap(pivot_data, cmap="YlGnBu") plt.title("Weekly variation of data") plt.xlabel("Week of year") plt.ylabel("Day of week") plt.show()
完整代码如下:
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt data = pd.read_csv("data.csv") data["date"] = pd.to_datetime(data["date"]) data.set_index("date", inplace=True) weekly_data = data.resample("W").mean() pivot_data = pd.pivot_table(weekly_data, values="value", index=weekly_data.index.weekday_name, columns=weekly_data.index.weekofyear) sns.heatmap(pivot_data, cmap="YlGnBu") plt.title("Weekly variation of data") plt.xlabel("Week of year") plt.ylabel("Day of week") plt.show()
其中,”data.csv”是包含日期和数值列的原始数据文件的名称。
为你推荐