Adicione nova coluna ao pyspark DataFrame

Adicione nova coluna ao pyspark DataFrame
No Python, Pyspark é um módulo Spark usado para fornecer um tipo semelhante de processamento como o Spark usando o DataFrame. Discutiremos como adicionar nova coluna ao Pyspark Dataframe existente.

Antes de mudar para os métodos, criaremos o Pyspark DataFrame.

Exemplo:

Aqui, vamos criar dados de dados Pyspark com 5 linhas e 6 colunas.

#import o módulo Pyspark
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#import a função col
de Pyspark.SQL.funções Importar col
#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 O DataFrame
df.mostrar()

Saída:

Método 1: Adicione uma nova coluna com valores usando WithColumn ()

Podemos adicionar nova coluna de uma coluna existente usando o método withcolumn ().

Sintaxe:

quadro de dados.withcolumn ("new_column", col ("column_name"))

Parâmetros:

  1. new_column é a coluna.
  2. A função col () é usada para adicionar seus valores de coluna ao new_column.

Exemplo:

Neste exemplo, vamos criar uma nova coluna - “Power” e adicionar valores a esta coluna multiplicando cada valor na coluna de peso por 10.

#import o módulo PysPaprk
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#import a função col
de Pyspark.SQL.funções Importar col
#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)
#Add coluna chamada Power
#da coluna de peso multiplicada por 2
df = df.Withcolumn ("Power", Col ("Peso")* 2)
#Display Modificado DataFrame
Imprimir (df.colet ()))
#Lets exibem o esquema
df.PrintSchema ()

Saída:

[Linha (endereço = 'guntur', idade = 23, altura = 5.79, nome = 'sravan', rollno = '001', peso = 67, potência = 134), linha (endereço = 'hyd', idade = 16, altura = 3.79, nome = 'ojaswi', rollno = '002', peso = 34, potência = 68), linha (endereço = 'patna', idade = 7, altura = 2.79, nome = 'gnanesh Chowdary', rollno = '003', peso = 17, potência = 34), linha (endereço = 'hyd', idade = 9, altura = 3.69, nome = 'rohith', rollno = '004', peso = 28, potência = 56), linha (endereço = 'hyd', idade = 37, altura = 5.59, nome = 'sridevi', rollno = '005', peso = 54, potência = 108)]
raiz
|- Endereço: String (Nullable = true)
|- Idade: Long (Nullable = True)
|- Altura: dupla (anulável = true)
|- Nome: String (Nullable = True)
|- rolno: string (nullable = true)
|- Peso: longo (nulo = true)
|- Poder: Long (Nullable = True)

Método 2: Adicione uma nova coluna com nenhum valores usando o WithColumn ()

Podemos adicionar nova coluna com nenhum valores usando o método withcolumn () através da função lit ().

Sintaxe:

quadro de dados.withcolumn ("new_column", iluminado (nenhum))

Parâmetros:

  1. new_column é a coluna.
  2. Lit () é uma função usada para adicionar valores à coluna.

Exemplo:

Neste exemplo, vamos criar uma nova coluna - "Power" e adicionar nenhum valores a esta coluna.

#import o módulo PysPaprk
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import the col, Lit Functions
de Pyspark.SQL.funções Importar Col, Lit
#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)
#Add coluna chamada Power
# com nenhum valores
df = df.Withcolumn ("Power", Lit (Nenhum))
#Display Modificado DataFrame
Imprimir (df.colet ()))

Saída:

[Linha (endereço = 'guntur', idade = 23, altura = 5.79, nome = 'sravan', rollno = '001', peso = 67, potência = nenhum), linha (endereço = 'hyd', idade = 16, altura = 3.79, nome = 'ojaswi', rollno = '002', peso = 34, potência = nenhum), linha (endereço = 'patna', idade = 7, altura = 2.79, nome = 'gnanesh Chowdary', rollno = '003', peso = 17, potência = nenhum), linha (endereço = 'hyd', idade = 9, altura = 3.69, nome = 'rohith', rollno = '004', peso = 28, potência = nenhum), linha (endereço = 'hyd', idade = 37, altura = 5.59, nome = 'sridevi', rollno = '005', peso = 54, potência = nenhum)]]

Método 3: Adicione uma nova coluna com valores com base na condição usando o WithColumn ()

Podemos adicionar nova coluna com condições usando o método WithColumn () e valores através da função LIT (). Podemos especificar as condições usando quando () função. Isso pode ser importado do Pyspark.SQL.funções.

Sintaxe:

quadro de dados.withcolumn ("new_column", quando ((dataframe.coluna < 11), lit("value1"))
.Quando ((condição), iluminado ("value2")))
..
. Quando ((condição), iluminado ("valor n")))
.Caso contrário (Lit ("Value")))

Parâmetros:

  1. new_column é a coluna.
  2. Lit () é uma função usada para adicionar valores à coluna.
  3. Quando () tomará a condição como entrada e adiciona valores com base nos critérios atendidos.
  4. Caso contrário () é o último passo que executará qualquer uma das condições acima não atendem aos critérios.

Exemplo:

Neste exemplo, vamos criar uma nova coluna - "Power" e adicionar valores da coluna de idade.

  • Adicione baixo valor se a idade for menor que - 11
  • Adicione alto valor se a idade for menor ou igual a - 12 e maior ou igual a - 20
  • Caso contrário, adicione alto valor
#import o módulo PysPaprk
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#import o col, iluminado, quando funções
de Pyspark.SQL.funções importam col, iluminado, quando
#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)
#Add A Column - Power
#Add Column Vales com base na coluna AGE
#By especificando as condições
df.withcolumn ("Power", quando ((df.idade < 11), lit("Low"))
.Quando ((df.idade> = 12) e (df.idade <= 20), lit("Medium"))
.caso contrário (iluminado ("alto")))).mostrar()

Saída:

Método 4: Adicione nova coluna com valores usando select ()

Podemos adicionar nova coluna de uma coluna existente usando o método select ().

Sintaxe:

quadro de dados.Selecione (aceso (DF.coluna).Alias ​​("new_column"))

Parâmetros:

  1. new_column é a coluna.
  2. A função lit () é usada para adicionar valores de coluna ao new_column.

Exemplo:

Neste exemplo, vamos criar uma nova coluna - “Power” e adicionar valores a esta coluna multiplicando cada valor na coluna de peso por 10.

#import o módulo PysPaprk
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import the col, Lit Functions
de Pyspark.SQL.funções Importar Col, Lit
#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)
#Add Coluna chamada - Power from Weight Coluna
# Adicione valores multiplicando com 10
df.Selecione ("rollno", iluminado (df.peso * 10).Alias ​​("Power"))).mostrar()

Saída:

Método 5: Adicione nova coluna com nenhum valores usando select ()

Podemos adicionar nova coluna com valores nulos usando o método select ().

Sintaxe:

quadro de dados.Selecione (iluminado (nenhum).Alias ​​("new_column"))

Parâmetros:

  1. new_column é a coluna
  2. A função lit () é usada para adicionar nenhum valores

Exemplo:

Neste exemplo, vamos criar uma nova coluna - "Power" e adicionar nenhum valores a esta coluna.

#import o módulo PysPaprk
Importar Pyspark
#Import SparkSession para criar uma sessão
de Pyspark.SQL Import SparkSession
#Import the col, Lit Functions
de Pyspark.SQL.funções Importar Col, Lit
#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)
#Add coluna chamada - Power
# Adicione valores nulos com nenhum
df.Selecione ("rollno", iluminado (nenhum).Alias ​​("Power"))).mostrar()

Saída:

Conclusão

Neste tutorial, discutimos como adicionar uma nova coluna usando as funções selecion () e withcolumn (). Observamos que Lit () é a função usada para adicionar valores à nova coluna. Finalmente, discutimos como adicionar valores não/nulos e os valores das colunas existentes ao Pyspark Dataframe.