开发者社区 > 大数据与机器学习 > 大数据计算 MaxCompute > 正文

Maxcompute使用的Mars是否支持Pandas map、apply方法

问题描述

我在Maxcompute使用的Mars进行数据分析 df['point'] = df['point'].map(lambda x: int(x[1:]))报错如下:

Traceback (most recent call last):  File "<pyodps_user_code>", line 383, in <module>  main_ktfh("19:30-20:30")  File "<pyodps_user_code>", line 362, in main_ktfh  sea_df = fun_season_change(s_point, e_point)  File "<pyodps_user_code>", line 327, in fun_season_change  a_df = fun_melt(fdf)  File "<pyodps_user_code>", line 254, in fun_melt  df['point'] = df['point'].map(lambda x: int(x[1:]))  File "/opt/taobao/tbdpapp/pyodps/mars/0.6/mars/dataframe/base/map.py", line 253, in series_map  return op(series, dtype=dtype)  File "/opt/taobao/tbdpapp/pyodps/mars/0.6/mars/utils.py", line 456, in _inner  return func(*args, **kwargs)  File "/opt/taobao/tbdpapp/pyodps/mars/0.6/mars/dataframe/base/map.py", line 104, in __call__  raise ValueError('cannot infer dtype, ' ValueError: cannot infer dtype, it needs to be specified manually for `map`

期望结果

Mars中如何实现Pandas中map、apply方法,是否能提供相关文档

已尝试的方法

展开
收起
游客3ywlse7ftc3tg 2022-12-13 14:52:43 174 0
1 条回答
写回答
取消 提交回答
  • 这个错误是因为Mars无法自动推断数据类型,需要手动指定数据类型。可以在lambda函数中添加一个参数,指定返回的数据类型,例如: df['point'] = df['point'].map(lambda x: int(x[1:]), dtype='int64') 这样就可以将字符串转换为整数类型。注意,需要根据实际情况指定正确的数据类型。

    2023-04-30 21:03:13
    赞同 展开评论 打赏

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

相关产品

  • 云原生大数据计算服务 MaxCompute
  • 相关电子书

    更多
    阿里云开源大数据平台3.0 技术解读 立即下载
    中文:即学即用的Pandas入门与时间序列分析 立即下载
    即学即用的Pandas入门与时间序列分析 立即下载