如何在KNIME中将普通数据表转换为指定结构的矩阵
KNIME 表格转矩阵实现方案
完全可以实现,你描述的需求属于典型的长表转宽表(行转列)场景,使用KNIME内置的*Pivoting(透视)*节点即可完成,无需额外安装扩展。
场景说明
你当前的源表结构:
rowid user item value 0 x A 10 1 x B 15 2 x C 0 3 y A 12 4 y B 17 5 y C 25
需要生成的目标矩阵结构:
rowid A B C x 10 15 0 y 12 17 25
具体操作步骤
- 第一步:在KNIME节点库搜索
Pivoting节点,拖拽后连接到你的源数据表输出端口 - 第二步:双击打开
Pivoting节点配置面板,按以下规则设置参数:- Groups(分组列):勾选
user列,该列的取值会作为最终矩阵的行索引(也就是目标表中rowid列的x、y值) - Pivots(透视列):勾选
item列,该列的唯一取值(A、B、C)会作为最终矩阵的列名 - Aggregation(聚合列):勾选
value列,聚合方式选择First或者Sum均可(你的源数据中每个user+item组合仅对应唯一value,两种聚合规则结果一致)
- Groups(分组列):勾选
- 第三步:点击
OK保存配置,执行节点即可得到符合要求的矩阵结构 - 可选调整:如果需要将生成的分组列
user重命名为rowid,可以在Pivoting节点后串联一个Column Rename节点,修改对应列名即可。
内容的提问来源于stack exchange,提问作者Nik
相关产品推荐
相关产品推荐

