You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何批量修改ML Studio中CSV列的推断数据类型?

批量修正ML Studio中CSV列的decimal类型推断问题

方法一:用Execute Python Script批量转换列类型

这是最高效的批量处理方式,无需逐列指定:

  1. 将CSV导入模块的输出连接到Execute Python Script模块的Dataset1输入端口
  2. 编辑脚本,替换默认代码为以下内容:
import pandas as pd

def azureml_main(dataframe1 = None, dataframe2 = None):
    # 遍历所有列,自动转换可识别为数值的string列
    for col in dataframe1.columns:
        if dataframe1[col].dtype == 'object':
            # 尝试转换为数值类型,无法转换的列保留原类型
            dataframe1[col] = pd.to_numeric(dataframe1[col], errors='coerce')
    return dataframe1,
  1. 运行模块后,所有原本应为decimal的string列会被自动转换为数值类型,空值会被统一处理为NaN(符合decimal类型的空值逻辑)

如果需要严格的decimal.Decimal类型而非float,可以修改脚本:

import pandas as pd
from decimal import Decimal

def azureml_main(dataframe1 = None, dataframe2 = None):
    for col in dataframe1.columns:
        if dataframe1[col].dtype == 'object':
            dataframe1[col] = dataframe1[col].apply(
                lambda x: Decimal(x) if pd.notnull(x) and x != '' else None
            )
    return dataframe1,

方法二:调整CSV导入的架构推断规则

如果ML Studio的CSV导入模块支持调整推断参数:

  • 找到模块的"推断架构"设置,将默认的"前1000行推断"改为"全部行"或大于1000的行数,让系统读取到非空值后自动推断为decimal类型
  • 此方法无需写代码,但仅适用于非空值出现在1000行之后的场景

内容的提问来源于stack exchange,提问作者OK 400

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 15:43:12