如何在RapidMiner中统计书籍数据集author列的作者数量?
在RapidMiner中统计多作者书籍的作者数量
给你两种直接可行的方法,对应你尝试过的两种思路:
方法一:统计逗号数量计算作者数
这是你最初的思路,用Generate Attributes工具就能实现,不用循环:
- 把
Generate Attributes拖进流程,连接你的书籍数据集 - 在工具配置面板里,新建一个属性,命名为
Count Authors - 在表达式框里输入:
原理:n个作者之间会有n-1个英文逗号,统计逗号数量加1就是作者总数。要是有作者列空的情况,可改成:count_chars(author, ",") + 1if(is_empty(author), 0, count_chars(author, ",") + 1) - 运行流程就能得到你要的结果。
方法二:拆分列后统计非空列数
针对你试过的拆分列思路,后续步骤这么做:
- 用
Split工具处理author列,分隔符选英文逗号(,),勾选「split into multiple columns」,拆分后会生成author_1、author_2等多列 - 再拖入
Generate Attributes工具,新建Count Authors属性,表达式用sum函数统计非空列的数量,比如拆分出3列的话:
原理:sum(not(is_empty(author_1)), not(is_empty(author_2)), not(is_empty(author_3)))not(is_empty())会把有作者的列转为1,空列转为0,求和后就是该行的作者总数。
示例结果
运行后就能得到你期望的格式:
Author: Wiebke Krabbe Count Authors: 1
Author: Claudia Fischer, Ilona Butterer Count Authors: 2
Author: Juliane Seidel, Christin Hopf, Paul Walsh Count Authors: 3
内容的提问来源于stack exchange,提问作者Hanna
相关产品推荐
相关产品推荐

