首页 > 解决方案 > 使用列输入在箱线图上出错

问题描述

我有一个包含三列的数据框 - id、热模板和照明密度值。这是数据的示例 - 数据框

我想创建一个按热模板分组的水平箱线图,类似于此 - 所需的箱线图布局,除了在 y 轴上它将是各种热模板,在 x 轴上它将是照明密度。我正在使用这段代码:

boxplot = result.boxplot(column='thermal_template', figsize=(18,8), rot = 90)

我收到一个错误- KeyError: “[Index(['thermal_template'], dtype='object')] are in the [columns]”

我已经确认“热模板”是一个列标签。

可重现示例的代码:

import pandas as pd
import matplotlib.pyplot as plt

d = {'ID': [1, 2, 3], 'thermal_template': ['Zone A', 'Zone A/B', 'Zone A/B'], 'lighting_density':[0.36, 0.88, 0.74 ]}
df = pd.DataFrame(data=d)
df

boxplot = df.boxplot(column='thermal_template')

标签: pythondataframeboxplot

解决方案


指定两者bycolumn使用示例数据生成所需的输出:

df.boxplot(by='thermal_template', column='lighting_density')

在此处输入图像描述


推荐阅读