Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Verilen dizide verilen değerin ilk oluşumunun konumunu bulur. Bağımsız değişkenlerden biri null ise null döndürür. Konum sıfır tabanlı değil, 1 tabanlı dizindir. Verilen değer dizide bulunamazsa 0 döndürür.
Sözdizimi
from pyspark.sql import functions as sf
sf.array_position(col, value)
Parametreler
| Parametre | Türü | Description |
|---|---|---|
col |
pyspark.sql.Column veya str |
Üzerinde çalışacak hedef sütun. |
value |
Herhangi biri | Aranacak değer veya Sütun ifadesi. |
İade
pyspark.sql.Column: bulunursa verilen dizideki değerin konumu ve aksi takdirde 0.
Örnekler
Örnek 1: Dize dizisindeki bir dizenin konumunu bulma
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|
+-----------------------+
Örnek 2: Boş bir dizideki bir dizenin konumunu bulma
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|
+-----------------------+
Örnek 3: Bir tamsayı dizisindeki tamsayı konumunu bulma
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|
+-----------------------+
Örnek 4: Dizide var olmayan bir değerin konumunu bulma
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|
+-----------------------+
Örnek 5: Null değer içeren bir dizideki bir değerin konumunu bulma
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|
+-----------------------+
Örnek 6: Bir tamsayı dizisinde sütun değerinin konumunu bulma
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|
+-------------------------+