【发布时间】:2016-08-30 04:49:25
【问题描述】:
我使用的是 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))
在尝试创建箱线图时导致错误的原因是什么?任何帮助表示赞赏。
【问题讨论】:
-
我认为这是一个错误。我遇到了类似的问题,但我不记得是否与箱线图有关。 matplotlib 正在寻找从 0 开始的索引。解决方法是:
df = df[(df['colA'] > 1000) & (df['colA'] < 5000)].reset_index(drop = True)或plt.boxplot(df['ColA'].values) -
这里有一个类似的问题:stackoverflow.com/questions/12406162/…
-
太棒了,感谢您的解决方法和链接类似的问题。我会尽快测试解决方法,并让您知道我的进展情况。
-
两者都有效 - 非常感谢!
标签: python python-2.7 pandas matplotlib