访问 pandas DataFrame 中名为“class”的列时出现语法错误

2023-12-12

我有名为“dataset”的 pandas DataFrame,它包含一个名为“class”的列

当我执行以下行时,我得到 SyntaxError:无效语法

print("Unique values in the Class column:", dataset.class.unique())

它适用于其他列名称,但不适用于“类”

如何在 pandas 中使用关键字作为列名?


class是python中的一个关键字。经验法则:每当您处理列名时cannot要在 python 中用作有效变量名,必须使用方括号表示法来访问:dataset['class'].unique().

当然,也有例外,但它们对你不利。例如,min/max是 python 中的有效变量名(即使它隐藏了内置变量)。但是,对于 pandas,您无法使用属性访问表示法引用此类命名列。还有更多这样的例外,它们在文档中列出。

进一步阅读的一个好地方是以下文档:属性访问。具体来说,红色Warning框),我将其添加到此处供后代使用:

  • 仅当索引元素是有效的 Python 时才可以使用此访问 标识符,例如s.1不允许。请参阅此处的解释 有效的标识符。

  • 如果该属性与现有属性冲突,则该属性将不可用 方法名称,例如s.min是不允许的,但是s['min']是可能的。

  • 同样,如果与以下属性冲突,该属性将不可用 以下任一列表:index, major_axis, minor_axis, items.

  • 在任何这些情况下,标准索引仍然有效,例如s['1'], s['min'], and s['index']将访问相应的元素或 柱子。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

访问 pandas DataFrame 中名为“class”的列时出现语法错误 的相关文章

随机推荐