如何在pydatadable中使用group by来计算每个类别的实例数

时间:2019-11-12 15:28:32

标签: python datatable

我有一个如下所示的数据框,在这里我想对它进行分组和计数操作以pydatatable的方式获取每个类别的计数?。

这是一个包含不同编程语言的示例dt

prog_lang_dt = dt.Frame({"languages": ['html','R','R','html','R','javascript','R','javascript','html']})

这是我正在尝试应用分组和计数操作的代码

prog_lang_dt[:,:,by(f.languages)]

是否有代替J ... DT [i,j,by]的特定计数功能

1 个答案:

答案 0 :(得分:1)

count()方法可用于查找每个组中的元素数:

from datatable import dt, f, by, count

prog_lang_dt = dt.Frame(languages= ['html', 'R', 'R', 'html', 'R', 'javascript',
                                    'R', 'javascript', 'html'])
prog_lang_dt[:, count(), by(f.languages)]

产生

   | languages   count
-- + ----------  -----
 0 | R               4
 1 | html            3
 2 | javascript      2

[3 rows x 2 columns]

尽管您的示例不需要,但函数count也可以将一列作为参数,在这种情况下,它将报告该特定列中不丢失的条目数。