vaex 列名称更改

vaex column name change

您好,我刚刚在 Python 开始使用 Vaex。我有一个列名混乱的数据集。我正在尝试用“_”替换空格。

在 pandas 我能够 df.column = df.columns.str.replace(' ', '_')

但在 Vaex

df_column = df.column_names.str.replace('\s', '_', regex=True)

我收到以下错误


AttributeError Traceback (most recent call last) in ----> 1 df_new = df.column_names.str.replace('\s', '_', regex=True) AttributeError: 'list' object has no attribute 'str'

有谁知道我做错了什么吗?

谢谢 迈克

在 Vaex 中,列实际上是 "Expressions"。表达式允许您在执行常规数据帧操作时在幕后构建某种计算图。但是,这要求列名尽可能 "clean"。

所以像“2”或“2.5”这样的列名是不允许的,因为表达式系统可以将它们解释为数字而不是列名。还有像 'first-name' 这样的列名,表达式系统可以解释为 df['first'] - df['name'].

为了避免这种情况,vaex 会巧妙地重命名列,以便它们可以在表达式系统中使用。这实际上非常复杂。顺便说一句,您始终可以通过 df.get_column_names(alias=True).

访问原始名称

如果你想重命名列,你应该使用df.rename(name, new_name)

希望对您有所帮助!