尝试绘制简单的条形图时出现错误

时间:2019-07-01 12:39:04

标签: python python-3.x plot

我有一个看起来像这样的数据框:

enter image description here

看起来有点奇怪,因为'product_id'下有一个空格,但这是一个数据帧。我用这种方法测试过。

if isinstance(prod_names, pd.DataFrame):
    print('DF')

DF来自计数功能。

prod_names = pd.DataFrame(df.groupby('product_name')['product_id'].count().sort_values(ascending=False).head(20))

现在,我正在尝试像这样绘制结果。

pd.value_counts(prod_names['product_name']).plot.bar()

运行该行代码时,出现此错误:

KeyError: 'product_name'

当我在“ product_names”数据框中列出字段名称时

list(prod_names)

我只能看到:['product_id']

由于某些原因,'product_name'字段丢失。它可能与'product_id'下的空格有关,但我不确定。有想法吗?

1 个答案:

答案 0 :(得分:1)

您的产品名称很可能在此处作为索引。我在这里没有看到其他索引。在这种情况下,您将无法通过列名访问它。您可以通过prod_names.reset_index()重置索引(添加新的数字列),也可以仅调用prod_names.index来查看产品名称信息。在第一种情况下,您可以保留功能,在第二种情况下,可以将其修改为pd.value_counts(prod_names.index).plot.bar()