Saltar al contenido

obtenga min y max de una columna específica scala spark dataframe

Si encuentras algún problema con tu código o trabajo, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.

Solución:

¿Qué tal obtener el nombre de la columna de los metadatos?

val selectedColumnName = df.columns(q) //pull the (q + 1)th column from the columns array
df.agg(min(selectedColumnName), max(selectedColumnName))

Puede usar la coincidencia de patrones al asignar variables:

import org.apache.spark.sql.functions.min, max
import org.apache.spark.sql.Row

val Row(minValue: Double, maxValue: Double) = df.agg(min(q), max(q)).head

Donde q es un Column o un nombre de columna (String). Suponiendo que su tipo de datos es Double.

Puede utilizar el número de columna para extraer primero los nombres de las columnas (mediante la indexación df.columns), luego agregue los nombres de las columnas:

val df = Seq((2.0, 2.1), (1.2, 1.4)).toDF("A", "B")
// df: org.apache.spark.sql.DataFrame = [A: double, B: double]

df.agg(max(df(df.columns(1))), min(df(df.columns(1)))).show
+------+------+

|max(B)|min(B)|
+------+------+
|   2.1|   1.4|
+------+------+

Aquí puedes ver las comentarios y valoraciones de los usuarios

Nos puedes estimular nuestro quehacer dejando un comentario y valorándolo te lo agradecemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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