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

得る

指定された (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、文字列、または整数

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

パラメーター

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|
+-------------+
このページの見出し