Pyspark - min

Pyspark - min
No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame. min () no pyspark é usado para retornar o valor mínimo de uma coluna específica no quadro de dados. Podemos obter o valor mínimo de três maneiras.
  1. Método 1: Usando o método select ()
  2. Método 2: Usando o método agg ()
  3. Método 3: Usando o Método Groupby ()

Antes disso, temos que criar dados de dados Pyspark para demonstração.

Exemplo:

Criaremos um DataFrame com 5 linhas e 6 colunas e exibiremos -o usando o método show ().

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = [
'rollno': '001', 'nome': 'sravan', 'idade': 23,
'Altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16,
'Altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7,
'Altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9,
'Altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37,
'Altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#display dataframe
df.mostrar()

Captura de tela de saída:

Método -1: Usando o método select ()

Podemos obter o valor mínimo da coluna no DataFrame usando o método SELECT (). Usando o método min (), podemos obter o valor mínimo da coluna. Para usar este método, temos que importá -lo do Pyspark.SQL.Módulo de funções e, finalmente, podemos usar o método collect () para obter o mínimo da coluna

Sintaxe:

df.Selecione (min ('column_name')))

Onde,

  1. DF é o quadro de dados Pyspark de entrada
  2. Column_name é a coluna para obter o valor mínimo

Se queremos retornar o valor mínimo de várias colunas, precisamos usar o método min () dentro do método select () especificando o nome da coluna separado por uma vírgula.

Sintaxe:

df.Selecione (min ('column_name'), min ('column_name'),… ., min ('column_name'))

Onde,

  1. DF é o quadro de dados Pyspark de entrada
  2. Column_name é a coluna para obter o valor mínimo

Exemplo 1: coluna única

Este exemplo receberá o valor mínimo da coluna de altura no quadro de dados Pyspark.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#import a função mínima - min
de Pyspark.SQL.Funções Importar min
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = [
'rollno': '001', 'nome': 'sravan', 'idade': 23,
'Altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16,
'Altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7,
'Altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9,
'Altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37,
'Altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#Return O mínimo da coluna de altura
df.Selecione (min ('altura')).colecionar ()

Saída:

[Linha (min (altura) = 2.79)]

No exemplo acima, o valor mínimo da coluna de altura é retornado.

Exemplo 2: várias colunas

Este exemplo receberá o valor mínimo das colunas de altura, idade e peso no quadro de dados Pyspark.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#importar a função mínima - min
de Pyspark.SQL.Funções Importar min
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = ['rollno': '001', 'nome': 'sravan', 'idade': 23,
'Altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16,
'Altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7,
'Altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9,
'Altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37,
'Altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#Return O mínimo a partir das colunas de altura, idade e peso
df.Selecione (min ('altura'), min ('idade'), min ('peso')).colecionar ()

Saída:

[Linha (min (altura) = 2.79, min (idade) = 7, min (peso) = 17)

No exemplo acima, o valor mínimo das colunas de altura, idade e peso é retornado.

Método - 2: Usando o método agg ()

Podemos obter o valor mínimo da coluna no quadro de dados usando o método agg (). Este método é conhecido como agregação, que agrupa os valores dentro de uma coluna. Será necessário o dicionário como um parâmetro nessa chave será o nome da coluna e o valor é a função agregada, i.e., min. Usando o método min (), podemos obter o valor mínimo da coluna e, finalmente, podemos usar o método collect () para obter o mínimo da coluna.

Sintaxe:

df.agg ('column_name': min)

Onde,

  1. DF é o quadro de dados Pyspark de entrada
  2. Column_name é a coluna para obter o valor mínimo
  3. Min é uma função de agregação usada para retornar o valor mínimo

Se queremos retornar o valor mínimo de várias colunas, precisamos especificar o nome da coluna com a função Min separada por uma vírgula.

Sintaxe:

df.agg ('column_name': min, 'column_name': min,…, 'column_name': min)

Onde,

  1. DF é o quadro de dados Pyspark de entrada
  2. Column_name é a coluna para obter o valor mínimo
  3. Min é uma função de agregação usada para retornar o valor mínimo

Exemplo 1: coluna única

Este exemplo receberá o valor mínimo da coluna de altura no quadro de dados Pyspark.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = [
'rollno': '001', 'nome': 'sravan', 'idade': 23,
'Altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16,
'Altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7,
'Altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9,
'Altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37,
'Altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#Return O mínimo da coluna de altura
df.agg ('altura': 'min').colecionar ()

Saída:

[Linha (min (altura) = 2.79)]

No exemplo acima, o valor mínimo da coluna de altura é retornado.

Exemplo 2: várias colunas

Este exemplo receberá o valor mínimo das colunas de altura, idade e peso no quadro de dados Pyspark.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = [
'rollno': '001', 'nome': 'sravan', 'idade': 23,
'Altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16,
'Altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7,
'Altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9,
'Altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37,
'Altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#Return O mínimo a partir das colunas de altura, idade e peso
df.agg ('altura': 'min', 'idade': 'min', 'peso': 'min').colecionar ()

Saída:

[Linha (min (peso) = 17, min (idade) = 7, min (altura) = 2.79)]

No exemplo acima, o valor mínimo das colunas de altura, idade e peso é retornado.

Método - 3: Usando o Método Groupby ()

Podemos obter o valor mínimo da coluna no DataFrame usando o método Groupby (). Este método retornará o valor mínimo agrupando valores semelhantes em uma coluna. Temos que usar a função min () depois de executar a função groupby ()

Sintaxe:

df.grupo (group_column). min ('column_name')

Onde,

  1. DF é o quadro de dados Pyspark de entrada
  2. group_column é a coluna em que os valores são agrupados com base nesta coluna
  3. Column_name é a coluna para obter o valor mínimo
  4. Min é uma função de agregação usada para retornar o valor mínimo.

Exemplo 1:

Neste exemplo, agruparemos a coluna de endereço com a coluna de altura para retornar o valor mínimo com base nesta coluna de endereço.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = [
'rollno': '001', 'nome': 'sravan', 'idade': 23,
'Altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16,
'Altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7,
'Altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9,
'Altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37,
'Altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#Return O mínimo do agrupamento da coluna de altura com coluna de endereço
df.grupo ('endereço').min ('altura').colecionar ()

Saída:

Existem três valores únicos no campo de endereço - Hyd, Guntur e Patna. Portanto, o mínimo será formado agrupando os valores nos valores do endereço.

[Linha (endereço = 'hyd', min (altura) = 3.69),
Linha (endereço = 'guntur', min (altura) = 5.79),
Linha (endereço = 'patna', min (altura) = 2.79)]

Exemplo 2:

Neste exemplo, agruparemos a coluna de endereço com a coluna de peso para retornar o valor mínimo com base nesta coluna de endereço.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Crie um aplicativo chamado Linuxhint
Spark_App = SparkSession.construtor.AppName ('Linuxhint').getorcreate ()
# Crie dados dos alunos com 5 linhas e 6 atributos
alunos = [
'rollno': '001', 'nome': 'sravan', 'idade': 23,
'Altura': 5.79, 'Peso': 67, 'Endereço': 'Guntur',
'rollno': '002', 'nome': 'ojaswi', 'idade': 16,
'Altura': 3.79, 'Peso': 34, 'Endereço': 'Hyd',
'rollno': '003', 'nome': 'gnanesh chowdary', 'idade': 7,
'Altura': 2.79, 'Peso': 17, 'Endereço': 'Patna',
'rollno': '004', 'nome': 'rohith', 'idade': 9,
'Altura': 3.69, 'Peso': 28, 'Endereço': 'Hyd',
'rollno': '005', 'nome': 'sridevi', 'idade': 37,
'Altura': 5.59, 'Peso': 54, 'Endereço': 'Hyd']
# Crie o DataFrame
df = spark_app.CreatedAtAframe (estudantes)
#Return O mínimo do agrupamento de colunas de peso com coluna de endereço
df.grupo ('endereço').min ('peso').colecionar ()

Saída:

Existem três valores únicos no campo de endereço - Hyd, Guntur e Patna. Portanto, o mínimo será formado agrupando os valores nos valores do endereço.

[Linha (endereço = 'hyd', min (peso) = 28),
Linha (endereço = 'guntur', min (peso) = 67),
Linha (endereço = 'patna', min (peso) = 17)]

Conclusão:

Discutimos como obter o valor mínimo do quadro de dados Pyspark usando os métodos selecion () e agg (). Para obter o valor mínimo agrupando com outras colunas, usamos o grupo junto com a função min (). Veja também artigo Pyspark Max ().