【问题标题】:Seaborn heat map with gapsSeaborn 有间隙的热图
【发布时间】:2026-02-16 17:35:02
【问题描述】:

我正在使用dataset from kaggle 并尝试对此进行一些数据分析。

首先,我计算了每组品牌和车辆类型的平均价格 (This is my average code),然后,我根据该平均值绘制了热图 (Heat map code)(Heat map figure)。但是,注意到在数据集中,一些品牌没有所有车辆类型,例如,alfa_romeo 没有显示“巴士”类型。这成为一个问题,因为这种缺失在热图中显示为空白。

我该如何克服这种情况,例如,将零值放在有差距的地方?

【问题讨论】:

    标签: python seaborn heatmap


    【解决方案1】:

    尝试在Heat map code 中将参数fill_value = 0 添加到df.pivot。这应该将 NULL 值替换为 0,并防止在热图中出现空白。

    编辑:我的解决方案出错,因为pandas.DataFrame.pivot 没有fill_value 的参数。一个更好的选择是pandas.pivot_table,它或多或少等同于pandas.pivot,但具有更大的灵活性。见这里:https://pandas.pydata.org/pandas-docs/stable/generated/pandas.pivot_table.html

    以下是你的行应该如何改写:

    import pandas as pd
    df2_pivot = pd.pivot_table(data = df2, 
                               index = 'brand', 
                               columns = 'vehicleType', 
                               values = 'avgPrice', 
                               fill_value = 0)
    

    或者,您也可以运行:

    df2_pivot = df2.pivot(index = 'brand', 
                          columns = 'vehicleType', 
                          values = 'avgPrice').fillna(0)
    

    【讨论】:

    • @Elias Rodrigues,如果此解决方案解决了您的问题,您能接受吗?谢谢!