Scala:获取列表中对象数量的百分比 [英] Scala: Getting the percentage of the number of objets in a list

查看:0
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆