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.
Belirtilen dizi dizininde belirli bir diziye öğe ekler. Dizi dizinleri 1'den başlar veya dizin negatifse sonundan başlar. Dizi boyutunun üzerindeki dizin diziyi ekler veya dizin negatifse dizinin başına 'null' öğeleri ekler.
Sözdizimi
from pyspark.sql import functions as sf
sf.array_insert(arr, pos, value)
Parametreler
| Parametre | Türü | Description |
|---|---|---|
arr |
pyspark.sql.Column veya str |
Dizi içeren sütunun adı |
pos |
pyspark.sql.Column, str veya int |
Ekleme konumunu gösteren Sayısal tür sütununun adı (dizin 1'den başlayarak, negatif konum dizinin arkasından bir başlangıçtır) |
value |
Herhangi biri | Değişmez değer veya Sütun ifadesi. |
İade
pyspark.sql.Column: yeni belirtilen değer de dahil olmak üzere bir değer dizisi
Örnekler
Örnek 1: Belirli bir konuma değer ekleme
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, 2, 'd')).show()
+------------------------+
|array_insert(data, 2, d)|
+------------------------+
| [a, d, b, c]|
+------------------------+
Örnek 2: Negatif konuma değer ekleme
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, -2, 'd')).show()
+-------------------------+
|array_insert(data, -2, d)|
+-------------------------+
| [a, b, d, c]|
+-------------------------+
Örnek 3: Dizi boyutundan daha büyük bir konuma değer ekleme
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, 5, 'e')).show()
+------------------------+
|array_insert(data, 5, e)|
+------------------------+
| [a, b, c, NULL, e]|
+------------------------+
Örnek 4: NULL değer ekleme
from pyspark.sql import functions as sf
df = spark.createDataFrame([(['a', 'b', 'c'],)], ['data'])
df.select(sf.array_insert(df.data, 2, sf.lit(None))).show()
+---------------------------+
|array_insert(data, 2, NULL)|
+---------------------------+
| [a, NULL, b, c]|
+---------------------------+
Örnek 5: NULL dizisine değer ekleme
from pyspark.sql import functions as sf
from pyspark.sql.types import ArrayType, IntegerType, StructType, StructField
schema = StructType([StructField("data", ArrayType(IntegerType()), True)])
df = spark.createDataFrame([(None,)], schema=schema)
df.select(sf.array_insert(df.data, 1, 5)).show()
+------------------------+
|array_insert(data, 1, 5)|
+------------------------+
| NULL|
+------------------------+