KeyError:'年',Python

问题描述

我正在尝试绘制 df,但我总是发现错误:KeyError: 'value'

我已经尝试将值定义为 .set_index(''),也尝试了其他列,尝试在尝试绘图之前定义 xlabel 和 ylabel,但我从未有过与此不同的结果。

我的想法是 'years' 是 xlabel,而 ylabel 是每一列的值。

df = pd.read_csv(r'C:\Users\Gustavo\Desktop\Industrial\dados_agregados1.csv',sep = ';',header = 0)

df2 = df.T

df2.head(1)

打印(类型(df2))

df2.plot(x = '年')

我的声誉不到 10,所以,我不能在这里发布图片

谢谢大家

enter image description here

解决方法

我认为您应该将第一行设置为列

a
,

在图像中可以看到的问题是您将列名(由于转置)与实际值混合在一起(意思是,以“Years”开头的行被视为数据而不是标题)。

解决方案是执行以下操作(完整示例仅选择您需要的内容):

import pandas as pd
df = pd.DataFrame(data= {'col1':["CompanyABC",1000,1200],'col2': ["CompanyXYZ",333,222]},index=["Years",2002,2003])

# From here would apply to you
df.columns = df.iloc[0]
df_new = df.drop('Years')
df_new.plot.bar()