Bagikan melalui


array_position

Menemukan posisi kemunculan pertama dari nilai yang diberikan dalam array yang diberikan. Mengembalikan null jika salah satu argumen null. Posisinya bukan berbasis nol, tetapi indeks berbasis 1. Mengembalikan 0 jika nilai yang diberikan tidak dapat ditemukan dalam array.

Syntax

from pyspark.sql import functions as sf

sf.array_position(col, value)

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Kolom target untuk dikerjakan.
value Apa saja Nilai atau ekspresi Kolom yang akan dicari.

Pengembalian Barang

pyspark.sql.Column: posisi nilai dalam array yang diberikan jika ditemukan dan 0 sebaliknya.

Examples

Contoh 1: Menemukan posisi string dalam array string

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

Contoh 2: Menemukan posisi string dalam array kosong

from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, StringType, StructField, StructType
schema = StructType([StructField("data", ArrayType(StringType()), True)])
df = spark.createDataFrame([([],)], schema=schema)
df.select(sf.array_position(df.data, "a")).show()
+-----------------------+
|array_position(data, a)|
+-----------------------+
|                      0|
+-----------------------+

Contoh 3: Menemukan posisi bilangan bulat dalam array bilangan bulat

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

Contoh 4: Menemukan posisi nilai yang tidak ada dalam array

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

Contoh 5: Menemukan posisi nilai dalam array dengan null

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

Contoh 6: Menemukan posisi nilai kolom dalam array bilangan bulat

from pyspark.sql import functions as sf
df = spark.createDataFrame([([10, 20, 30], 20)], ['data', 'col'])
df.select(sf.array_position(df.data, df.col)).show()
+-------------------------+
|array_position(data, col)|
+-------------------------+
|                        2|
+-------------------------+