Funciones estadísticas de dataframes en Scala

por | Sep 3, 2018 | Big data, Scala, Spark | 0 Comentarios

Ejemplo de funciones estadiscias: mediascala logo

Muestra un ejemplo de como realizar la media sobre un conjunto de datos

val df = Seq(
  ("Paco","Garcia",24,24000),
  ("Juan","Garcia",26,27000),
  ("Lola","Martin",29,31000),
  ("Sara","Martin",32,32000),
  ("Sara","Garcia",35,34000)
).toDF("nombre", "apellido","edad","salario")

df
  .select(avg("edad"))
  .show()
+---------+
|avg(edad)|
+---------+
|     29.2|
+---------+

Ejemplo de funciones estadiscias: suma

Muestra un ejemplo de como realizar la suma sobre un conjunto de datos

df
  .select(sum("edad"))
  .show()
+---------+
|sum(edad)|
+---------+
|      146|
+---------+

Ejemplo de funciones estadiscias: mínimo

Muestra un ejemplo de identificar el valor mínimo sobre un conjunto de datos

df
  .select(min("edad"))
  .show()
+---------+
|min(edad)|
+---------+
|       24|
+---------+

Ejemplo de funciones estadiscias: máximo

Muestra un ejemplo de identificar el valor máximo sobre un conjunto de datos

df
  .select(max("edad"))
  .show()
+---------+
|max(edad)|
+---------+
|       35|
+---------+

Ejemplo de funciones estadisticas combinadas: agrupamiento

Muestra un ejemplo que calcula la media y el valor maximo de subconjunto de datos agrupados por apellidos

df  
  .groupBy(df.col("apellido"))
  .agg(avg("edad"), max("salario"))
  .show()
+--------+------------------+------------+
|apellido|         avg(edad)|max(salario)|
+--------+------------------+------------+
|  Martin|              30.5|       32000|
|  Garcia|28.333333333333332|       34000|
+--------+------------------+------------+

Ejemplo de funciones estadiscias: correlación

Muestra un ejemplo que calcula la correlación sobre un conjunto de datos

df.stat.corr("edad", "salario")
res: Double = 0.9682166881272039

Ejemplo de funciones estadiscias: covarianza

Muestra un ejemplo que calcula la coviarianza sobre un conjunto de datos

df.stat.cov("edad", "salario")
res: Double = 17350.0

0 comentarios

Enviar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *