Cómo trazar datos de PySpark en histograma

Como Trazar Datos De Pyspark En Histograma



En PySpark, la visualización de datos se realiza mediante histogramas y otras técnicas de trazado. Esto ayuda a comprender a los ingenieros de ciencia de datos con los datos en representación gráfica. El tiempo es una limitación importante para ellos. Mediante estas visualizaciones, pueden analizar los datos más rápidamente en comparación con otros formatos de datos como texto/csv y otros.

En esta guía, veremos cómo trazar los datos de PySpark en el histograma. Podemos ver dos escenarios aquí. El histograma se crea en PySpark Pandas DataFrame y en datos RDD. Para estos dos escenarios, PySpark proporciona dos funciones: pyspark.pandas.DataFrame.plot.hist() & pyspark.RDD.histogram.

Tema de contenidos:







Pyspark.pandas.DataFrame.plot.hist()

En este escenario, el histograma se muestra como una representación gráfica de datos que agrupa un rango de clases en columnas (desde PySpark Pandas DataFrame) junto con el eje x horizontal. El eje Y representa el número de ocurrencias en PySpark Pandas DataFrame para cada columna.



Sintaxis:



pyspark_pandas_DataFrame.plot.hist(contenedores,...)

Toma el número total de contenedores como un parámetro opcional que es un número entero y algunos argumentos de palabras clave opcionales. Si no se especifican los contenedores para cada columna, se crea una barra.





Trazar histograma en PySpark Pandas DataFrame

Cree un marco de datos PySpark Pandas que tenga 2 columnas con 4 registros. Trace el histograma sin pasar ningún parámetro a la función plot.hist().

de pyspark importar pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Edificio_altura' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Área de construcción' :[ 2 , 3 , 1 , 4 ]})

imprimir (pyspark_pandas_dataframe)

# histograma PySpark-Pandas

pyspark_pandas_dataframe.plot.hist()

Producción:



Aquí, los nombres de las columnas son 'Building_height' y 'Building_Area'.

Veamos el histograma:

El número total de filas en el DataFrame anterior es 4. Por lo tanto, se crean 4 contenedores.

Trazar histograma en PySpark Pandas DataFrame con el parámetro Bins

Cree un marco de datos PySpark Pandas que tenga 2 columnas con 4 registros. Trace el histograma sin pasar ningún parámetro a la función plot.hist().

de pyspark importar pandas

pyspark_pandas_dataframe=pandas.DataFrame({ 'Edificio_altura' :[ 120.56 , 234.67 , 12.0 , 200.45 ], 'Área de construcción' :[ 2 , 3 , 1 , 4 ]})

# Histograma PySpark-Pandas con 2 contenedores

pyspark_pandas_dataframe.plot.hist(contenedores= 2 )

Producción:

Aquí, los nombres de las columnas son 'Building_height' y 'Building_Area'.

Veamos el histograma: el rojo se refiere a 'Building_Area' y el azul se refiere a la columna 'Building_height':

Como especificamos, solo se crearon 2 bins y 2 barras. Cuatro filas se agrupan en 2 cubos aquí.

Trazar histograma en PySpark RDD especificando el número de depósito

Cuando trabaja con RDD, el histograma se puede devolver en forma de tupla que incluye los depósitos y los valores totales que están presentes en cada depósito.

Sintaxis:

pyspark_RDD.histogram(cubos)

En este escenario, pasamos el número de cubos (entero) que se incluyen en el histograma. Devuelve la tupla de listas que incluyen los rangos de depósito y las ocurrencias de valores correspondientes en el siguiente formato: ([intervalos de depósitos…], [apariciones de valores…]).

Ejemplo 1:

Vamos a crear un RDD llamado 'Building_height' con 10 valores y crearemos un histograma con 3 cubos.

importar pyspark

desde pyspark.sql importar SparkSession

desde pyspark.rdd importar RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Crear un RDD con 10 valores

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

imprimir( 'Actual: ' ,Altura_del_edificio.recoger())

# Especificando 3 cubos

Edificio_altura.histograma( 3 )

Producción:

  1. El cubo-1 varía de 12,0 a 86,223: en este rango, el número total de valores presentes en el cubo es 5.
  2. El cubo-2 va de 86,223 a 160,446: en este rango, el número total de valores presentes en el cubo es 3.
  3. El cubo-3 varía de 160,446 a 234,67: en este rango, el número total de valores presentes en el cubo es 2.

Ejemplo 2:

Cree un histograma con 2 cubos en el RDD creado anteriormente.

importar pyspark

desde pyspark.sql importar SparkSession

desde pyspark.rdd importar RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Crear un RDD con 10 valores

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 78 , 90 , 100 ])

imprimir( 'Actual: ' ,Altura_del_edificio.recoger())

# Especificando 2 cubos

Edificio_altura.histograma( 2 )

Producción:

  1. El cubo 1 varía de 12,0 a 123,335. En este rango, el número total de valores que están presentes en el cubo es 8.
  2. El cubo 2 va de 123,335 a 234,67: en este rango, el número total de valores que están presentes en el cubo es 2.

Trazar histograma en PySpark RDD especificando el tamaño de cada cubeta

En el escenario anterior, pasamos los cubos a la función RDD.histogram(). Ahora, pasamos los tamaños de cubo uno tras otro dentro de una lista y pasamos esta lista como parámetro a esta función. Asegúrese de que necesitamos especificar al menos dos cubos en orden creciente/ascendente y no tendrá valores duplicados.

Sintaxis:

pyspark_RDD.histogram([rango de depósitos...])

En este escenario, pasamos el número de cubos (entero) que se incluyen en el histograma. Devuelve la tupla de listas que incluyen los rangos de depósito y las ocurrencias de valores correspondientes en el siguiente formato: ([intervalos de depósitos…], [apariciones de valores…]).

Ejemplo 1:

Vamos a crear un RDD llamado 'Building_height' con 10 valores y crear un histograma con el rango de valores de Bucker [0, 50, 100, 150, 200, 250].

importar pyspark

desde pyspark.sql importar SparkSession

desde pyspark.rdd importar RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Crear un RDD con 10 valores

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

imprimir( 'Actual: ' ,Altura_del_edificio.recoger())

# Especificando depósito con tamaño - [0,50,100,150,200,250]

Building_height.histogram([ 0 , 50 , 100 , 150 , 200 , 250 ])

Producción:

  1. Cubo 1: (0 a 50): los valores totales en este cubo son 3.
  2. Cubo 1: (50 a 100): los valores totales en este cubo son 2.
  3. Cubo 1: (100 a 150): los valores totales en este cubo son 2.
  4. Cubo 1: (150 a 200): los valores totales en este cubo son 2.
  5. Cubo 1: (200 a 250): los valores totales en este cubo son 2.

Ejemplo 2:

Cree un histograma con el rango de valores del depósito [0, 100, 200, 300].

importar pyspark

desde pyspark.sql importar SparkSession

desde pyspark.rdd importar RDD

spark_app = SparkSession.builder.appName( 'linux' ).getOrCreate()

# Crear un RDD con 10 valores

Building_height =spark_app.sparkContext.parallelize([ 120.56 , 234.67 , 12.0 , 200.45 , 17.8 , 24 , 56 , 178 , 90 , 100 ])

imprimir( 'Actual: ' ,Altura_del_edificio.recoger())

# Especificando depósito con tamaño - [0,100,200,300]

Building_height.histogram([ 0 , 100 , 200 , 300 ])

Producción:

  1. Cubo 1: (0 a 100). El valor total en este cubo es 5.
  2. Cubo 2: (100 a 200). El valor total en este cubo es 3.
  3. Cubo 3: (200 a 300). El valor total en este cubo es 2.

Conclusión

Hemos visto cómo crear histogramas en PySpark en PySpark Pandas DataFrame y RDD. histogram() es la función que se utiliza para obtener el histograma de los datos RDD. El plot.hist() se usa para mostrar el histograma en PySpark Pandas DataFrame. Discutimos estas funciones con ejemplos cubriendo todos los parámetros.