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]
,你可以随意使用它。
考虑以下名为“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]
,你可以随意使用它。