【发布时间】:2019-06-03 13:19:38
【问题描述】:
summary() 和 describe() 有什么区别?
似乎它们都具有相同的目的。我没有找到任何差异(如果有的话)。
【问题讨论】:
标签: apache-spark
summary() 和 describe() 有什么区别?
似乎它们都具有相同的目的。我没有找到任何差异(如果有的话)。
【问题讨论】:
标签: apache-spark
如果我们传递任何参数,那么这些函数可用于不同的目的:
.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 |
//+-------+---+----+
【讨论】:
导入数据后执行的第一个操作是了解它的外观。对于数值列,了解描述性汇总统计信息有助于理解数据的分布。函数 describe 返回一个 DataFrame,其中包含每个数字列的非空条目数(计数)、平均值、标准差以及最小值和最大值等信息。 https://databricks.com/blog/2015/06/02/statistical-and-mathematical-functions-with-dataframes-in-spark.html 希望对您有所帮助。
【讨论】:
summary() 和describe() 的不同之处
两者具有相同的功能,但 api 语法只是不同。希望这会有所帮助
【讨论】: