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

得る

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

構文

Python
from pyspark.sql import functions as sf

sf.get(col, index)

パラメーター

パラメーター

Type

説明

col

pyspark.sql.Column または文字列

配列を含む列の名前。

index

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

配列内で確認するインデックス。

戻り値

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

例1 : 固定位置にある要素を取得する

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

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

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

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

Python
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()
Output
+----------------+
|get(data, index)|
+----------------+
| c|
+----------------+

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

Python
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()
Output
+----------------------+
|get(data, (index - 1))|
+----------------------+
| b|
+----------------------+

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

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