数据框对象没有属性

新手上路,请多包涵

我知道以前有人问过这种问题,并且我已经检查了所有答案,并且我多次尝试找到解决方案但徒劳无功。事实上,我使用 Pandas 调用 Dataframe。我上传了一个 csv.file。

来自 csv 的数据集

当我输入 data.Countrydata.Year 时,我得到第一列和第二列。但是,当我输入 data.Number 时,每次它都会给我这个错误:

AttributeError:“DataFrame”对象没有属性“Number”。

原文由 Mouna Belaid 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 579
2 个回答

data.columns 检查你的DataFrame

它应该打印这样的东西

Index([u'regiment', u'company',  u'name',u'postTestScore'], dtype='object')

检查隐藏的空格..然后你可以重命名

data = data.rename(columns={'Number ': 'Number'})

原文由 Merlin 发布,翻译遵循 CC BY-SA 3.0 许可协议

我认为包含 "Number" 的列名类似于 " Number""Number " 。我假设您的列名中可能有剩余空间。请运行 print "<{}>".format(data.columns[1]) 看看你得到了什么。如果它类似于 < Number> ,可以通过以下方式修复:

 data.columns = data.columns.str.strip()

pandas.Series.str.strip


一般来说, AttributeError: 'DataFrame' object has no attribute '...' ,其中 ... 是一些列名称,是因为 . 符号已用于引用列名称或 pexist 方法。

使用 . 访问 pandas 方法。 pandas columns can also be accessed with a . (eg data.col ) or with brackets (eg ['col'] or [['col1', 'col2']] ).

data.columns = data.columns.str.strip() 是一种从所有列名中快速删除前导和尾随空格的快速方法。否则验证列或属性是否拼写正确。

原文由 piRSquared 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题