将dataframe中的一列数据的月平均值随时间和高度的变化画出一张热力图
时间: 2024-05-01 08:18:14 浏览: 70
你可以使用Python中的pandas和seaborn库来完成该任务。首先,需要将dataframe按照时间和高度进行分组,并计算每个月的平均值。然后,可以使用seaborn库中的heatmap函数将数据绘制成热力图。
以下是一份参考代码:
``` python
import pandas as pd
import seaborn as sns
# 假设你的数据集名为df,包含三列:"时间"、"高度"和"数据"
# 将时间列转换为日期格式
df["时间"] = pd.to_datetime(df["时间"])
# 按照时间和高度对数据进行分组,计算每个月的平均值
df_monthly = df.groupby([df["时间"].dt.year, df["时间"].dt.month, "高度"]).mean()
df_monthly.reset_index(inplace=True)
df_monthly["日期"] = pd.to_datetime(df_monthly["时间"].astype(str) + "-" + df_monthly["level_1"].astype(str) + "-01")
df_monthly.drop(["level_0", "level_1", "时间"], axis=1, inplace=True)
# 将数据转换为矩阵形式,用于绘制热力图
df_matrix = df_monthly.pivot("高度", "日期", "数据")
# 绘制热力图
sns.heatmap(df_matrix, cmap="YlGnBu")
```
阅读全文