メインコンテンツまでスキップ

配列繰り返し

count 回繰り返される列を含む配列を作成します。

構文

Python
from pyspark.sql import functions as sf

sf.array_repeat(col, count)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

繰り返される要素を表す列の名前または式。

count

pyspark.sql.Column、文字列、または整数

列の名前、式、または要素を繰り返す回数を表す整数。

戻り値

pyspark.sql.Column: 繰り返される要素の配列を含む新しい列。

例1 : 文字列の使用

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([('ab',)], ['data'])
df.select(sf.array_repeat(df.data, 3)).show()
Output
+---------------------+
|array_repeat(data, 3)|
+---------------------+
| [ab, ab, ab]|
+---------------------+

例2 : 整数での使用

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(3,)], ['data'])
df.select(sf.array_repeat(df.data, 2)).show()
Output
+---------------------+
|array_repeat(data, 2)|
+---------------------+
| [3, 3]|
+---------------------+

例3 : 配列での使用

Python
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['apple', 'banana'],)], ['data'])
df.select(sf.array_repeat(df.data, 2)).show(truncate=False)
Output
+----------------------------------+
|array_repeat(data, 2) |
+----------------------------------+
|[[apple, banana], [apple, banana]]|
+----------------------------------+

例4 : nullの使用

Python
from pyspark.sql import functions as sf
from pyspark.sql.types import IntegerType, StructType, StructField
schema = StructType([
StructField("data", IntegerType(), True)
])
df = spark.createDataFrame([(None, )], schema=schema)
df.select(sf.array_repeat(df.data, 3)).show()
Output
+---------------------+
|array_repeat(data, 3)|
+---------------------+
| [NULL, NULL, NULL]|
+---------------------+