Spark 1.4为DataFrame新增的统计与数学函数

目前,Spark 1.4版本在社区已经进入投票阶段,在Github上也提供了1.4的分支版本。最近,Databricks的工程师撰写了博客,介绍了Spark 1.4为DataFrame新增的统计与数学函数。这篇博客介绍的函数主要包括:

\\
  1. 随机数据生成(Random Data Generation) \\
  2. 概要与描述性统计(Summary and descriptive statistics) \\
  3. 协方差与相关性(Sample covariance and correlation) \\
  4. 交叉列表(Cross tabulation) \\
  5. 频率项(Frequent items) \\
  6. 数学函数(Mathematical functions) \

随机数据生成(Random Data Generation)主要是为测试数据提供方便快捷的接口,如range、rand和randn。rand函数提供均匀正态分布,而randn则提供标准正态分布。在调用这些函数时,还可以指定列的别名,以方便我们对这些数据进行测试。

\\

概要与描述性统计(Summary and Descriptive Statistics)包含了计数、平均值、标准差、最大值、最小值运算。只需要针对DataFrame调用describe函数即可:

\\
``` \from pyspark.sql.functions import rand, randn\df = sqlContext.range(0, 10).withColumn('uniform', rand(seed=10)).withColumn('normal', randn(seed=27))\\df.describe().show()\```
\\

可能的结果显示为:

\\
summary iduniformnormal
count101010
mean4.50.5215336029384192-0.01309370117407197
stddev2.87228132326901430.2293281628206530.5756058014772729|
min00.19657711634539565-0.7195024130068081
max90.99704124770322091.0900096472044518

交叉列表为一组变量提供了频率分布表,在统计学中被经常用到。例如在对租车行业的数据进行分析时,需要分析每个客户(name)租用不同品牌车辆(brand)的次数。此时,就可以直接调用crosstab函数。例如:

\\
df.stat.crosstab(\"name\
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值