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

How to count the number of instances for each category using group by in pydatadable

我有一个如下所示的数据框,在这里我想对其应用分组依据和计数操作以 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]

可以使用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 也可以将列作为参数,在这种情况下,它将报告该特定列中非缺失条目的数量。