次の方法で共有


バージョン変更

指定された (0 から始まる) インデックスにある配列の要素を返します。 インデックスが配列境界の外側を指している場合、この関数は NULL を返します。 位置は 1 から始まるのではなく、0 から始まるインデックスです。

構文

from pyspark.sql import functions as sf

sf.get(col, index)

パラメーター

パラメーター タイプ Description
col pyspark.sql.Column または str 配列を含む列の名前。
index pyspark.sql.Column、str、または int 配列内でチェックするインデックス。

返品ポリシー

pyspark.sql.Column: 指定した位置の値。

例示

例 1: 固定位置での要素の取得

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(sf.get(df.data, 1)).show()
+------------+
|get(data, 1)|
+------------+
|           b|
+------------+

例 2: 配列境界の外側の位置にある要素を取得する

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"],)], ['data'])
df.select(sf.get(df.data, 3)).show()
+------------+
|get(data, 3)|
+------------+
|        NULL|
+------------+

例 3: 別の列で指定された位置にある要素を取得する

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], 2)], ['data', 'index'])
df.select(sf.get(df.data, df.index)).show()
+----------------+
|get(data, index)|
+----------------+
|               c|
+----------------+

例 4: 別の列から計算された位置にある要素を取得する

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], 2)], ['data', 'index'])
df.select(sf.get(df.data, df.index - 1)).show()
+----------------------+
|get(data, (index - 1))|
+----------------------+
|                     b|
+----------------------+

例 5: 負の位置にある要素を取得する

from pyspark.sql import functions as sf
df = spark.createDataFrame([(["a", "b", "c"], )], ['data'])
df.select(sf.get(df.data, -1)).show()
+-------------+
|get(data, -1)|
+-------------+
|         NULL|
+-------------+