Scala:获取列表中对象数量的百分比 [英] Scala: Getting the percentage of the number of objets in a list
本文介绍了Scala:获取列表中对象数量的百分比的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
考虑名为";df";的以下数据集:
Name | Sex
John | man
Peter| man
Henry| man
Mary | woman
我想定义一个向我返回以下内容的函数:
Percentage of men: 75%
Percentage of women: 25%
我遇到了麻烦,因为";man";和";Women";都是字符串类型,并且要添加百分比符号(%)。我还想澄清一下,我正在使用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]
,您可以随心所欲地使用它。
这篇关于Scala:获取列表中对象数量的百分比的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文