Pular para o conteúdo principal

variedade

Cria uma nova coluna de matriz a partir das colunas de entrada ou dos nomes das colunas.

Sintaxe

Python
from pyspark.sql import functions as sf

sf.array(*cols)

Parâmetros

Parâmetro

Tipo

Descrição

cols

pyspark.sql.Column ou str

Nomes de colunas ou objetos de coluna que possuem o mesmo tipo de dados.

Devoluções

pyspark.sql.ColumnUma nova coluna do tipo array, onde cada valor é um array contendo os valores correspondentes das colunas de entrada.

Exemplos

Exemplo 1 : Uso básico da função de matriz com nomes de colunas.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", "doctor"), ("Bob", "engineer")],
("name", "occupation"))
df.select(sf.array('name', 'occupation')).show()
Output
+-----------------------+
|array(name, occupation)|
+-----------------------+
| [Alice, doctor]|
| [Bob, engineer]|
+-----------------------+

Exemplo 2 : Utilização da função array com objetos Column.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", "doctor"), ("Bob", "engineer")],
("name", "occupation"))
df.select(sf.array(df.name, df.occupation)).show()
Output
+-----------------------+
|array(name, occupation)|
+-----------------------+
| [Alice, doctor]|
| [Bob, engineer]|
+-----------------------+

Exemplo 3 : Argumento único como lista de nomes de colunas.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", "doctor"), ("Bob", "engineer")],
("name", "occupation"))
df.select(sf.array(['name', 'occupation'])).show()
Output
+-----------------------+
|array(name, occupation)|
+-----------------------+
| [Alice, doctor]|
| [Bob, engineer]|
+-----------------------+

Exemplo 4 : Utilização da função array com colunas de tipos diferentes.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame(
[("Alice", 2, 22.2), ("Bob", 5, 36.1)],
("name", "age", "weight"))
df.select(sf.array(['age', 'weight'])).show()
Output
+------------------+
|array(age, weight)|
+------------------+
| [2.0, 22.2]|
| [5.0, 36.1]|
+------------------+

Exemplo 5 : função de matriz com uma coluna contendo valores nulos.

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([("Alice", None), ("Bob", "engineer")],
("name", "occupation"))
df.select(sf.array('name', 'occupation')).show()
Output
+-----------------------+
|array(name, occupation)|
+-----------------------+
| [Alice, NULL]|
| [Bob, engineer]|
+-----------------------+