我有一个看起来像这样的数据框:
看起来有点奇怪,因为'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'
下的空格有关,但我不确定。有想法吗?
答案 0 :(得分:1)
您的产品名称很可能在此处作为索引。我在这里没有看到其他索引。在这种情况下,您将无法通过列名访问它。您可以通过prod_names.reset_index()
重置索引(添加新的数字列),也可以仅调用prod_names.index
来查看产品名称信息。在第一种情况下,您可以保留功能,在第二种情况下,可以将其修改为pd.value_counts(prod_names.index).plot.bar()