您好,我刚刚开始使用 Python 中的 Vaex。我有一个列名混乱的数据集。我正在尝试用“_”替换空格。在熊猫中,我能够 df.column = df.columns.str.replace(' ', '_')但在 Vaexdf_column = df.column_names.str.replace('\s', '_', regex=True)我收到以下错误AttributeError Traceback(最近一次调用)在 ----> 1 df_new = df.column_names.str.replace('\s', '_', regex=True) AttributeError: 'list' object has no attribute 'str'有谁知道我可能做错了什么?
1 回答

慕后森
TA贡献1802条经验 获得超5个赞
在 Vaex 中,列实际上是“表达式”。表达式允许您在执行常规数据帧操作时在幕后构建某种计算图。但是,这要求列名尽可能“干净”。
因此像“2”或“2.5”这样的列名是不允许的,因为表达式系统可以将它们解释为数字而不是列名。还有列名,如“first-name”,表达式系统可以解释为 df['first'] - df['name']。
为了避免这种情况,vaex 会巧妙地重命名列,以便它们可以在表达式系统中使用。这实际上非常复杂。顺便说一句,您始终可以通过 df.get_column_names(alias=True) 访问原始名称。
如果你想重命名列,你应该使用df.rename(name, new_name)
我希望这有帮助!
添加回答
举报
0/150
提交
取消