Scala:获取列表中对象数量的百分比

Scala: Getting the percentage of the number of objets in a list

考虑以下名为“df”的数据集:

Name | Sex
John | man
Peter| man
Henry| man
Mary | woman

我想定义一个 returns 我这样的函数:

Percentage of men: 75%
Percentage of women: 25%

我遇到了麻烦,因为“男人”和“女人”是字符串类型并且要添加百分比符号 (%)。另外我想澄清一下,我正在使用 IntelliJ 在 Scala 中编写代码。

根据 jwvh 的建议,您可以这样做:

case class Person(name: String, sex: String)

val df: Seq[Person] = ???

df
  .groupBy(_.sex)
  .map { case (sex, persons) =>
    val percentage = persons.length * 100 / df.length
    s"Percentage of $sex: $percentage%"
  }

这会给你一个Seq[String],你可以随意使用它。