No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame. Max () em Pyspark retorna o valor máximo de uma coluna específica no quadro de dados. Podemos obter o valor máximo de três maneiras.
- Método 1: Usando o método select ()
- Método 2: Usando o método agg ()
- 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áximo da coluna no DataFrame usando o método select (). Usando o método max (), podemos obter o valor máximo 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áximo da coluna.
Sintaxe:
df.Selecione (max ('column_name')))
Onde,
- DF é o quadro de dados Pyspark de entrada
- Column_name é a coluna para obter o valor máximo
Se queremos retornar o valor máximo de várias colunas, devemos usar o método max () dentro do método select () especificando o nome da coluna separado por uma vírgula.
Sintaxe:
df.Selecione (max ('column_name'), max ('column_name'),… ., max ('column_name'))
Onde,
- DF é o quadro de dados Pyspark de entrada
- Column_name é a coluna para obter o valor máximo
Exemplo 1: coluna única
Este exemplo receberá o valor máximo 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áxima - máxima
de Pyspark.SQL.Funções Importar máx
#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áximo da coluna de altura
df.Selecione (max ('altura')).colecionar ()
Saída:
[Linha (Max (altura) = 5.79)]
No exemplo acima, o valor máximo da coluna de altura é retornado.
Exemplo 2: várias colunas
Este exemplo receberá o valor máximo 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
#import a função máxima - máxima
de Pyspark.SQL.Funções Importar máx
#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áximo das colunas de altura, idade e peso
df.Selecione (max ('altura'), max ('idade'), max ('peso'))).colecionar ()
Saída:
[Linha (Max (altura) = 5.79, Max (idade) = 37, max (peso) = 67)]
No exemplo acima, o valor máximo das colunas de altura, idade e peso é retornado.
Método 2: Usando o método agg ()
Podemos obter o valor máximo da coluna no DataFrame 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., máx. Usando o método max (), podemos obter o valor máximo da coluna e, finalmente, podemos usar o método collect () para obter o máximo da coluna.
Sintaxe:
df.agg ('column_name': max)
Onde,
- DF é o quadro de dados Pyspark de entrada
- Column_name é a coluna para obter o valor máximo
- Max é uma função de agregação usada para retornar o valor máximo
Se queremos retornar o valor máximo de várias colunas, devemos especificar o nome da coluna com a função máxima separada por uma vírgula.
Sintaxe:
df.agg ('column_name': max, 'column_name': max,…, 'column_name': max)
Onde,
- DF é o quadro de dados Pyspark de entrada
- Column_name é a coluna para obter o valor máximo
- Max é uma função de agregação usada para retornar o valor máximo
Exemplo 1: coluna única
Este exemplo receberá o valor máximo 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áximo da coluna de altura
df.agg ('altura': 'max').colecionar ()
Saída:
[Linha (Max (altura) = 5.79)]
No exemplo acima, o valor máximo da coluna de altura é retornado.
Exemplo 2: várias colunas
Este exemplo receberá o valor máximo 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áximo das colunas de altura, idade e peso
df.agg ('altura': 'max', 'idade': 'max', 'peso': 'max').colecionar ()
Saída:
[Linha (max (peso) = 67, max (idade) = 37, max (altura) = 5.79)]
No exemplo acima, o valor máximo das colunas de altura, idade e peso é retornado.
Método 3: Usando o Método Groupby ()
Podemos obter o valor máximo da coluna no DataFrame usando o método Groupby (). Este método retornará o valor máximo agrupando valores semelhantes em uma coluna. Temos que usar a função max () após executar a função Groupby ()
Sintaxe:
df.grupo (group_column). max ('column_name')
Onde,
- DF é o quadro de dados Pyspark de entrada
- group_column é a coluna em que os valores são agrupados com base nesta coluna
- Column_name é a coluna para obter o valor máximo
- Max é uma função de agregação usada para retornar o valor máximo.
Exemplo 1:
Neste exemplo, agruparemos a coluna de endereço com a coluna de altura para retornar o valor máximo 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áximo do agrupamento da coluna de altura com coluna de endereço
df.grupo ('endereço').altura máxima').colecionar ()
Saída:
Existem três valores únicos no campo de endereço - Hyd, Guntur e Patna. Portanto, o máximo será formado agrupando os valores nos valores do endereço.
[Linha (endereço = 'hyd', max (altura) = 5.59),
Linha (endereço = 'guntur', max (altura) = 5.79),
Linha (endereço = 'patna', max (altura) = 2.79)]
Exemplo 2:
Neste exemplo, agruparemos a coluna de endereço com a coluna de peso para retornar o valor máximo 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áximo do agrupamento de colunas de peso com coluna de endereço
df.grupo ('endereço').peso máximo').colecionar ()
Saída:
Existem três valores únicos no campo de endereço - Hyd, Guntur e Patna. Portanto, o máximo será formado agrupando os valores nos valores do endereço.
[Linha (endereço = 'hyd', max (peso) = 54),
Linha (endereço = 'guntur', max (peso) = 67),
Linha (endereço = 'patna', max (peso) = 17)]
Conclusão:
Discutimos como obter o valor máximo do quadro de dados Pyspark usando os métodos selecion () e agg (). Para obter o valor máximo agrupando com outras colunas, usamos o grupo junto com a função max (). Veja também artigo de Pyspark min ().