You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算分区域月度平均房价并用Plotly绘制趋势图

分区域月度平均房价统计与Plotly走势绘制

实现步骤

1. 数据预处理与分区域月度均值计算

你之前的分组逻辑仅按月份聚合,没有加入区域维度,会导致两个区域的价格被合并计算;另外需要先正确解析日期格式,避免时间转换错误。
对应代码如下:

import pandas as pd
import plotly.express as px

# 解析日期列,适配样例中日/月/年的日期格式
df['DateSold'] = pd.to_datetime(df['DateSold'], dayfirst=True)

# 按月份、区域两个维度分组,计算平均成交价
df_monthly = df.groupby(
    [pd.PeriodIndex(df['DateSold'], freq="M"), "Area"]
)["Price"].mean().reset_index()

# 将Period类型转为时间戳,适配Plotly的时间轴识别
df_monthly["DateSold"] = df_monthly["DateSold"].dt.to_timestamp()

关键说明:

  • dayfirst=True必须添加,否则pandas会默认按月/日/年解析你的日期数据,导致时间错乱
  • 分组时同时传入月份和Area作为分组键,才能得到分区域的月度统计结果
  • 最后转换Period为时间戳,是因为Plotly对pandas的Period类型兼容性较差,转成标准时间戳后可自动识别为连续时间轴

2. Plotly折线图绘制

你之前的绘图代码使用了原始日度数据,且没有指定按区域拆分线条,补全后的代码如下:

fig = px.line(
    df_monthly,
    x="DateSold",
    y="Price",
    color="Area",
    markers=True,
    title="各区域月度平均房屋成交价格走势",
    labels={"DateSold": "成交月份", "Price": "平均成交价格", "Area": "所属区域"}
)

# 优化x轴显示,固定按月度刻度展示
fig.update_xaxes(tickformat="%Y-%m", dtick="M1")
fig.show()

运行后生成的图表会用不同颜色的折线区分两个区域,每个月度节点带标记点,可直观对比两个区域的房价涨跌走势。

内容的提问来源于stack exchange,提问作者tim2022

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 18:18:37