Apache Spark中describe()和summary()之间的区别

时间:2019-06-03 13:19:38

标签: apache-spark

summary()describe()有什么区别? 看来它们都达到了相同的目的,但没有找到任何区别(如果有)。

3 个答案:

答案 0 :(得分:2)

如果我们传递任何args,那么这些函数可以用于不同的目的:

.describe() 函数将cols:String*(df列)作为可选参数。

.summary() 函数将statistics:String*(count,mean,stddev..etc)作为可选参数。

示例:

scala> val df_des=Seq((1,"a"),(2,"b"),(3,"c")).toDF("id","name")
scala> df_des.describe().show(false) //without args
//Result:
//+-------+---+----+
//|summary|id |name|
//+-------+---+----+
//|count  |3  |3   |
//|mean   |2.0|null|
//|stddev |1.0|null|
//|min    |1  |a   |
//|max    |3  |c   |
//+-------+---+----+
scala> df_des.summary().show(false) //without args
//+-------+---+----+
//|summary|id |name|
//+-------+---+----+
//|count  |3  |3   |
//|mean   |2.0|null|
//|stddev |1.0|null|
//|min    |1  |a   |
//|25%    |1  |null|
//|50%    |2  |null|
//|75%    |3  |null|
//|max    |3  |c   |
//+-------+---+----+
scala> df_des.describe("id").show(false) //descibe on id column only
//+-------+---+
//|summary|id |
//+-------+---+
//|count  |3  |
//|mean   |2.0|
//|stddev |1.0|
//|min    |1  |
//|max    |3  |
//+-------+---+
scala> df_des.summary("count").show(false) //get count summary only
//+-------+---+----+
//|summary|id |name|
//+-------+---+----+
//|count  |3  |3   |
//+-------+---+----+

答案 1 :(得分:0)

导入数据后要执行的第一个操作是对它的外观有所了解。对于数字列,了解描述性摘要统计信息可以极大地帮助您理解数据的分布。该函数describe返回一个DataFrame,其中包含诸如每个数字列的非空条目数(计数),均值,标准差以及最小值和最大值之类的信息。 https://databricks.com/blog/2015/06/02/statistical-and-mathematical-functions-with-dataframes-in-spark.html 希望对您有所帮助。

答案 2 :(得分:0)

两者功能相同,但api语法不同。希望这会有所帮助