我有一个如下所示的数据框:
看起来有点奇怪,因为'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'
下的空间有关,但我不确定。想法?
最佳答案
很可能您的产品名称在这里作为索引。我在这里没有看到任何其他索引。在这种情况下,您无法通过列名称访问它。您可以通过prod_names.reset_index()
重置索引(添加新的数字列)或者直接调用prod_names.index
查看产品名称信息。在第一种情况下,您可以保留您的功能,在第二种情况下,您可以将其修改为 pd.value_counts(prod_names.index).plot.bar()
之类的东西。
关于python - 尝试绘制简单的条形图时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56835889/