Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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|
+-------------------------+