在 Deedle 系列中计数唯一

Count unique in a Deedle Series

我想在我的数据框中有一个系列的概览,比如 pandas 的唯一值计数。我不知道是否有内置函数。

到目前为止,我已经完成了一个函数来获取不同特征的数量。我可以设法完成这项工作,我的问题只是关于一个内置函数。

let unique (s:Deedle.Series<'a,'a>) = 
    s.Values
    |>Seq.distinct
    |>Seq.length

我想要这样的结果:

[("value1",5);("value2",8)]

您可以使用 groupInto 函数 - 这让您可以对系列的值进行分组,这样您就可以使用实际值作为键对数据进行分组,然后通过计算组中的项目总数:

let unique s = 
  s |> Series.groupInto (fun _ v -> v) (fun _ g -> Stats.count g)

Series.ofValues [ 1;2;1;2;3 ] |> unique