Bagikan melalui


get

Mengembalikan elemen array pada indeks yang diberikan (berbasis 0). Jika indeks menunjuk di luar batas array, maka fungsi ini mengembalikan NULL. Posisinya bukan berbasis 1, tetapi indeks berbasis 0.

Syntax

from pyspark.sql import functions as sf

sf.get(col, index)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Nama kolom yang berisi array.
index pyspark.sql.Column, str, atau int Indeks yang akan diperiksa dalam array.

Pengembalian Barang

pyspark.sql.Column: Nilai pada posisi yang diberikan.

Examples

Contoh 1: Mendapatkan elemen pada posisi tetap

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|
+------------+

Contoh 2: Mendapatkan elemen pada posisi di luar batas array

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|
+------------+

Contoh 3: Mendapatkan elemen pada posisi yang ditentukan oleh kolom lain

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|
+----------------+

Contoh 4: Mendapatkan elemen pada posisi yang dihitung dari kolom lain

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|
+----------------------+

Contoh 5: Mendapatkan elemen pada posisi negatif

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|
+-------------+