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

如何在RapidMiner中处理COVID数据集的编码缺失值?

解决RapidMiner中COVID-19数据集特殊缺失值的处理方案

针对你遇到的链式Replace算子界面显示不全的问题,推荐几个更高效的批量处理特殊缺失值的方法,无需依赖链式多算子:

方法1:用Map Values + Generate Attributes 批量转换

  • 处理非日期列的97/98/99缺失标记:
    1. 拖拽Map Values算子到流程中,连接数据集输入。
    2. 在算子设置里,批量选择所有数值型/分类型列(排除death_year)。
    3. 添加映射规则:将97、98、99全部映射为missing(RapidMiner的缺失值标识)。
  • 处理death_year列的特殊日期:
    1. 拖拽Generate Attributes算子,连接上述输出。
    2. 创建新属性(或覆盖原属性),输入表达式:if(death_year == "9999-99-99", null, death_year),将无效日期转为缺失值。
  • 最后用Replace Missing Values算子,根据列类型选择填充策略(数值列用中位数/均值,分类列用众数,日期列可选择删除缺失行)。

方法2:用Loop Attributes 遍历列处理

适合需要对不同列做差异化处理的场景:

  1. 拖拽Loop Attributes算子,设置遍历范围为排除death_year的所有列。
  2. 在循环内部添加Replace Values算子,将当前循环列的97、98、99替换为missing。
  3. 循环结束后,单独用Replace Values处理death_year列,把9999-99-99替换为missing。

方法3:用Python脚本批量处理(最灵活)

如果RapidMiner的可视化算子受限,直接用脚本一次性处理所有特殊缺失值:

  1. 拖拽Execute Python Script算子到流程中。
  2. 替换脚本内容为:
import pandas as pd

# 读取RapidMiner数据集
df = rapidminer.get_dataframe()

# 批量替换非death_year列的97/98/99为缺失值
non_death_columns = [col for col in df.columns if col != "death_year"]
df[non_death_columns] = df[non_death_columns].replace([97, 98, 99], pd.NA)

# 替换death_year列的无效日期为缺失值
df["death_year"] = df["death_year"].replace("9999-99-99", pd.NA)

# 将处理后的数据集返回给RapidMiner
rapidminer.set_dataframe(df)
  1. 运行脚本后,后续即可正常使用Data Audit做EDA,或进行ML建模前的缺失值填充。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 20:13:11