使用data.columns
检查您的DataFrame
它应该打印出类似于这样的内容
Index([u'regiment', u'company', u'name',u'postTestScore'], dtype='object')
检查隐藏的空白字符..然后您可以重新命名为
data = data.rename(columns={'Number ': 'Number'})
我认为包含代码“Number”的列名可能类似于“ Number”或“Number ”。我猜测您的列名中可能有残留的空格。请运行print "<{}>".format(data.columns[1])
来查看结果。如果结果类似于< Number>
,可以通过以下方式进行修复:
data.columns = data.columns.str.strip()
AttributeError: 'DataFrame'对象没有属性'...'
,其中...
是某个列名,通常是由于使用.
符号来引用不存在的列名或pandas方法而导致的。
使用.
可以访问pandas方法。pandas列也可以使用.
(例如data.col
)或使用方括号(例如['col']
或[ ['col1','col2']]
)进行访问。
data.columns = data.columns.str.strip()
是一种快速去除所有列名前后空格的方法。否则,请验证列名或属性是否拼写正确。
data = pd.read_csv('/your file name', delim_whitespace=True)
data.Number
现在你可以无误地运行这段代码。
将csv文件中的";"替换为","
我知道这不是同一个用例,但这可能会有所帮助:
在我的情况下,我的DataFrame对象没有我想要进行操作的列。
以下条件语句使我避免了AttributeError
:
if '<column_name>' in test_data.columns:
# do your operation on the column