我使用的是 0.18.0 版的 pandas 和 1.5.1 版的 matplotlib。
尝试创建箱线图时,我收到 KeyError: 0L。
df = df[(df['colA'] > 1000) & (df['colA'] < 5000)]
plt.boxplot(df['ColA'])
当我不对 df 执行过滤器时,代码会运行并创建箱线图,没有任何问题。
当我使用过滤后的 df 绘制直方图时,这没有任何错误。
plt.hist(df['ColA'], range(1000,5000,500))
尝试创建箱线图时导致错误的原因是什么?任何帮助表示赞赏。
请您参考如下方法:
如果您在谷歌搜索时错过了它(就像我差点做的那样),答案就在问题的评论中:
- 使用
.values:plt.boxplot(df['ColA'].values)。 - 在 this question 中找到更多解释和选项.
- tldr; Plot 尝试从索引 0 开始,这对命名列或切片等不起作用...使用
.values或重置索引将解决这个问题。
- tldr; Plot 尝试从索引 0 开始,这对命名列或切片等不起作用...使用
感谢@ayhan 提供此信息。
