次の方法で共有


アレイ

入力列または列名から新しい配列列を作成します。

構文

from pyspark.sql import functions as sf

sf.array(*cols)

パラメーター

パラメーター タイプ Description
cols pyspark.sql.Column または str 列名または同じデータ型を持つ Column オブジェクト。

返品ポリシー

pyspark.sql.Column: 配列型の新しい列。各値は、入力列の対応する値を含む配列です。

例示

例 1: 列名を使用した配列関数の基本的な使用方法。

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

例 2: Column オブジェクトでの配列関数の使用。

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()
+-----------------------+
|array(name, occupation)|
+-----------------------+
|        [Alice, doctor]|
|        [Bob, engineer]|
+-----------------------+

例 3: 列名のリストとしての単一引数。

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

例 4: 異なる型の列を含む配列関数の使用法。

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()
+------------------+
|array(age, weight)|
+------------------+
|       [2.0, 22.2]|
|       [5.0, 36.1]|
+------------------+

例 5: null 値を含む列を含む配列関数。

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