请教大家个大数据计算MaxCompute问题: 对dataframe 列重命名报错: ?

请教大家个大数据计算MaxCompute问题: 对dataframe 列重命名报错:
AttributeError: 'DataFrame' object has no attribute 'rename'
脚本:
from odps import options
from odps.df import DataFrame

mers = DataFrame(o.get_table('dim_mer_mer_info'))
print(mers.head(5))
mers.rename(columns={"mer_id":"mer_id_abc"},inplace=True)
print(mers.head(5))

展开
收起
真的很搞笑 2023-07-30 15:59:33 139 分享 版权
2 条回答
写回答
取消 提交回答
  • 根据你提供的脚本,似乎你正在使用MaxCompute中的DataFrame对象进行列重命名操作。但是,MaxCompute的DataFrame对象(odps.df.DataFrame)并没有rename方法,这就解释了为什么会出现错误信息:AttributeError: 'DataFrame' object has no attribute 'rename'

    在MaxCompute中,要对DataFrame的列进行重命名,你可以使用rename_columns方法。下面是一个修改后的示例:

    from odps import options
    from odps.df import DataFrame
    
    mers = DataFrame(o.get_table('dim_mer_mer_info'))
    print(mers.head(5))
    mers = mers.rename_columns([('mer_id', 'mer_id_abc')])
    print(mers.head(5))
    

    在上述示例中,我将rename方法替换为rename_columns方法,并且传递了一个元组列表来指定要重命名的列。对于每个元组,第一个元素是原始列名,第二个元素是新的列名。

    请注意,在MaxCompute中,DataFrame是不可变对象,它的大部分操作都会生成一个新的DataFrame。因此,你需要将rename_columns的结果赋值给新的DataFrame对象mers,以便应用列重命名。

    2023-07-31 18:16:27
    赞同 展开评论
  • 2023-07-30 16:17:05
    赞同 展开评论

MaxCompute(原ODPS)是一项面向分析的大数据计算服务,它以Serverless架构提供快速、全托管的在线数据仓库服务,消除传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您经济并高效的分析处理海量数据。

还有其他疑问?
咨询AI助理