Obtenga una fila específica del marco de datos de PySpark

En este artículo, discutiremos cómo obtener la fila específica del marco de datos de PySpark.

Creando Dataframe para demostración:

Python3

# importing module
import pyspark
  
# importing sparksession
# from pyspark.sql module
from pyspark.sql import SparkSession
  
# creating sparksession
# and giving an app name
spark = SparkSession.builder.appName('sparkdf').getOrCreate()
  
# list  of employee data with 5 row values
data = [["1", "sravan", "company 1"],
        ["2", "ojaswi", "company 2"],
        ["3", "bobby", "company 3"],
        ["4", "rohith", "company 2"],
        ["5", "gnanesh", "company 1"]]
  
# specify column names
columns = ['Employee ID', 'Employee NAME',
           'Company Name']
  
# creating a dataframe from the lists of data
dataframe = spark.createDataFrame(data, columns)
  
# display dataframe
dataframe.show()

Producción:

Método 1: usar recopilar()

Esto se usa para obtener todos los datos de la fila del marco de datos en formato de lista.

Sintaxis: dataframe.collect()[index_position]

Dónde,

  • el marco de datos es el marco de datos pyspark
  • index_position es la fila de índice en el marco de datos

Ejemplo: código de Python para acceder a las filas

Python3

# get first row
print(dataframe.collect()[0])
  
# get second row
print(dataframe.collect()[1])
  
# get last row
print(dataframe.collect()[-1])
  
# get third row
print(dataframe.collect()[2])

Producción:

Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’)

Fila (ID de empleado = ‘2’, NOMBRE de empleado = ‘ojaswi’, Nombre de la empresa = ‘compañía 2’)

Fila (ID del empleado = ‘5’, NOMBRE del empleado = ‘gnanesh’, Nombre de la empresa = ‘compañía 1’)

Fila (ID de empleado = ‘3’, NOMBRE de empleado = ‘bobby’, Nombre de la empresa = ‘compañía 3’)

Método 2: Usar mostrar()

Esta función se usa para obtener las primeras n filas del marco de datos pyspark.

Sintaxis: dataframe.show(no_of_rows)

donde, no_of_rows es el número de fila para obtener los datos

Ejemplo: código Python para obtener los datos usando la función show()

Python3

# display dataframe only top 2 rows
print(dataframe.show(2))
  
# display dataframe only top 1 row
print(dataframe.show(1))
  
# display dataframe 
print(dataframe.show())

Producción:

Método 3: Usar primero()

Esta función se usa para devolver solo la primera fila en el marco de datos.

Sintaxis: dataframe.first()

Ejemplo: código de Python para seleccionar la primera fila en el marco de datos.

Python3

# display first row of the dataframe
print(dataframe.first())

Producción:

Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’)

Método 4: Usar head()

Este método se usa para mostrar las primeras n filas en el marco de datos.

Sintaxis: dataframe.head(n)

donde, n es el número de filas a mostrar

Ejemplo: código de Python para mostrar el número de filas que se mostrarán.

Python3

# display only 1 row
print(dataframe.head(1))
  
# display only top 3  rows
print(dataframe.head(3))
  
# display only top 2 rows
print(dataframe.head(2))

Producción:

[Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’)]

[Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’), 

Fila (ID de empleado = ‘2’, NOMBRE de empleado = ‘ojaswi’, Nombre de la empresa = ‘compañía 2’), 

Fila (ID de empleado = ‘3’, NOMBRE de empleado = ‘bobby’, Nombre de la empresa = ‘compañía 3’)]

[Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’), 

Fila (ID de empleado = ‘2’, NOMBRE de empleado = ‘ojaswi’, Nombre de la empresa = ‘compañía 2’)]

Método 5: Usar la cola()

Se usa para devolver las últimas n filas en el marco de datos

Sintaxis: dataframe.tail(n)

donde n es el número de filas que se devolverán desde el último en el marco de datos.

Ejemplo: código de Python para obtener las últimas n filas

Python3

# display only 1 row from last
print(dataframe.tail(1))
  
# display only top 3  rows from last
print(dataframe.tail(3))
  
# display only top 2 rows from last
print(dataframe.tail(2))

Producción:

[Row(Id. de empleado=’5′, NOMBRE de empleado=’gnanesh’, Nombre de la empresa=’compañía 1′)]

[Fila (ID de empleado = ‘3′, NOMBRE de empleado = ‘bobby’, Nombre de la empresa = ‘compañía 3’),

 Fila (ID del empleado = ‘4’, NOMBRE del empleado = ‘rohith’, Nombre de la empresa = ‘compañía 2’),

  Fila (ID de empleado = ‘5′, NOMBRE de empleado = ‘gnanesh’, Nombre de la empresa = ‘compañía 1’)]

[Fila (ID de empleado = ‘4′, NOMBRE de empleado = ‘rohith’, Nombre de la empresa = ‘compañía 2’),

 Fila (ID de empleado = ‘5′, NOMBRE de empleado = ‘gnanesh’, Nombre de la empresa = ‘compañía 1’)]

Método 6: Usar select() con el método collect()

Este método se usa para seleccionar una fila en particular del marco de datos. Se puede usar con la función de recopilación().

Sintaxis: dataframe.select([columnas]).collect()[índice]

dónde, 

  • el marco de datos es el marco de datos pyspark
  • Columnas es la lista de columnas que se mostrarán en cada fila
  • Índice es el número de índice de la fila que se mostrará.

Ejemplo: código de Python para seleccionar la fila en particular.

Python3

# select first row
print(dataframe.select(['Employee ID',
                        'Employee NAME',
                        'Company Name']).collect()[0])
  
# select third row
print(dataframe.select(['Employee ID',
                        'Employee NAME',
                        'Company Name']).collect()[2])
  
# select forth row
print(dataframe.select(['Employee ID',
                        'Employee NAME',
                        'Company Name']).collect()[3])

Producción:

Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’)

Fila (ID de empleado = ‘3’, NOMBRE de empleado = ‘bobby’, Nombre de la empresa = ‘compañía 3’)

Fila (ID de empleado = ‘4’, NOMBRE de empleado = ‘rohith’, Nombre de la empresa = ‘compañía 2’)

Método 7: Usar el método take()

Este método también se usa para seleccionar las primeras n filas

Sintaxis: dataframe.take(n)

donde n es el número de filas a seleccionar

Python3

# select top 2 rows
print(dataframe.take(2))
  
# select top 4 rows
print(dataframe.take(4))
  
# select top 1 row
print(dataframe.take(1))

Producción:

[Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’), 

Fila (ID de empleado = ‘2’, NOMBRE de empleado = ‘ojaswi’, Nombre de la empresa = ‘compañía 2’)]

[Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’),

Fila (ID de empleado = ‘2’, NOMBRE de empleado = ‘ojaswi’, Nombre de la empresa = ‘compañía 2’),

 Fila (ID de empleado = ‘3’, NOMBRE de empleado = ‘bobby’, Nombre de la empresa = ‘compañía 3’),

  Fila (ID de empleado = ‘4′, NOMBRE de empleado = ‘rohith’, Nombre de la empresa = ‘compañía 2’)]

[Fila (ID de empleado = ‘1’, NOMBRE de empleado = ‘sravan’, Nombre de la empresa = ‘compañía 1’)]

Publicación traducida automáticamente

Artículo escrito por sravankumar8128 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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