Aller au contenu principal

tableau

Crée une nouvelle colonne de tableau à partir des colonnes d'entrée ou des noms de colonne.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.array(*cols)

parameter

parameter

Type

Description

cols

pyspark.sql.Column ou str

Noms de colonne ou objets de colonne qui ont le même type de données.

parameter

Type

Description

cols

pyspark.sql.Column ou str

Noms de colonne ou objets de colonne qui ont le même type de données.

Renvoie

pyspark.sql.Column: Une nouvelle colonne de type tableau, où chaque valeur est un tableau contenant les valeurs correspondantes des colonnes d'entrée.

Exemples

Exemple 1 : utilisation de base de la fonction de tableau avec des noms de colonne.

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]|
+-----------------------+

Exemple 2 : Utilisation de la fonction de tableau avec des objets de colonne.

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]|
+-----------------------+

Exemple 3 : Argument unique sous forme de liste de noms de colonne.

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]|
+-----------------------+

**Exemple 4** : utilisation de la fonction de tableau avec des colonnes de différents types.

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]|
+------------------+

**Exemple 5** : fonction de tableau avec une colonne contenant des valeurs nulles.

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]|
+-----------------------+