4

我有一个如下所示的数据框,在这里我想应用 group by 并对其进行计数操作以 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]

4

1 回答 1

4

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

于 2019-11-15T18:29:07.977 回答