【KNIME经验】为重复的属性值排序号

KNIME相关视频教程,请移步B站,搜索“星汉长空”,多谢支持!

步骤1. 如图所示,在KNIME中加入Table Creator节点。

步骤2. 在Table Creator节点中,双击编辑单元格,填入一列测试数据,其中含有三种属性值,A、B和C。但是它们的顺序和数量是随机的。

********************************************************************************
问题:如何为相同的属性值,按照出现的顺序赋予序号1,2,3...
********************************************************************************
思路:首先想到的就是分组排序功能,使用Rank节点,依据该属性值分组,
接下来在分组内部依据出现的次序,或者其他的属性,比如行索引进行排序。********************************************************************************

步骤3. 拖入Category To Number节点,目的是新建一个属性用于组内排序,方法并不唯一。
(注:这里使用Math formula节点获取row index,或者将原来的列复制一份都是可以的。Category To Number节点的作用是将原来的属性值按类别转换为数字,注意可以设置类别的起始序号、步长及最大类别数等等。)

步骤4. 拖入Rank节点,在Grouping Attributes里面选原始列,也就是依据原始属性值分组。

步骤5. 在Rank节点里,Ranking Attributes里选择新建的属性列,并选择Order为升序排列。

步骤6. 在Rank节点里,Ranking Mode选Ordinal;Other Options里勾选保持行顺序。

步骤7. 执行工作流,可以看到原始数据列属性值的重复部分,依据出现的先后顺序赋予了序号。

解释1. 何为KNIME?KNIME数据分析平台是一款强大开源的数据挖掘软件平台,可以固化数据处理的流程,在人与人,人与机器之间进行传递。

解释2. 为何Ranking Mode选Ordinal?排序序号有几种模式,比如并列第二名,可能序号都为2,也可能被按照出现顺序先后被赋予序号2、3,这都是需要根据需求灵活选择的,三种模式对于序号的影响,大家可以参考官方帮助文档的说明,也可以手动尝试,来理解序号模式间的细微差别。

解释3. 不要忘了保持行的原始顺序,这在很多节点当中都有相应的选项,如果不进行勾选,KNIME会对结果按照预设的逻辑进行排序,那么结果可能与我们的预期不符。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值