Spark DataFrame统计某列特征不同个数

56 篇文章 4 订阅
47 篇文章 3 订阅

Scala版本

import spark.implicits._

var data1 = Seq(
  ("0", "2002", "196", "1", "bai"),
  ("1", "4004", "192", "2", "wang"),
  ("0", "7007", "95", "3", "wang"),
  ("0", "4004", "4", "4", "wang"),
  ("0", "7007", "15", "5", "wang"),
  ("1", "0",    "14", "6", "zhu"),
  ("0", "9009", "96", "7", "bai"),
  ("1", "9009", "126", "8", "bai"),
  ("0","10010", "19219", "9", "wei")
).toDF("label", "AMOUNT", "Pclass", "MAC_id", "PAYER_CODE")

data1.show()

计算某一列不同元素的个数

  • 方法一: approx_count_distinct
import org.apache.spark.sql.functions._

data1.agg(approx_count_distinct("label")).collect().map(_(0)).toList(0).toString

结果:
res661: String = 2
  • 方法二:countDistinct
import org.apache.spark.sql.functions._

data1.agg(countDistinct("label")).collect().map(_(0)).toList(0).toString

Python版本

可参考:这里

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值