首页 > 解决方案 > KeyError:“[Index(['Company'], dtype='object')] 均不在 [columns] 中”

问题描述

给定每个公司排名的箱线图,我正在尝试为每个标准创建一系列图表。

我的数据如下所示: 原始数据

我的代码是这样的:

import pandas

data= pandas.read_csv(r"C:\Users\Steven\Desktop\ELNResults2.csv", nrows=(145))
criteriadata= data.groupby("Criteria")
criteriadata.boxplot(column=['Company'])

我收到此错误:

KeyError: "None of [Index(['Company'], dtype='object')] are in the [columns]"

但是,当我运行它时。

print(data.columns)

我明白了:

Index(['Company', 'Criteria', 'Ranking'], dtype='object')

所以对我来说,这看起来像公司在列中?

我是初学者,所以我还在学习。作为旁注,我不喜欢我发现的所有教程都使用像 linspace 这样的脚本创建的数据集,而不是导入数据集。我发现这并不能模仿现实生活中发生的事情,我在生物技术行业工作时发现 99.9% 的数据都是 csv。

标签: pandaspandas-groupbygraphing

解决方案


boxplot在pandas groupby 上使用该方法时,column参数指的是 DataFrame 中的列,该列包含将绘制分布的数字数据。我相信你所关心的是传递"Company"by参数而不是将其传递给column参数,而"Ranking"应该是应该传递给column参数的列名(尽管在这种情况下,使用column参数是无关紧要的,因为你只剩下一列包含数字数据)。可以总结如下:

criteriadata.boxplot(column="Ranking", by="Company")


推荐阅读