Megosztás:


szelet

Egy új tömboszlopot ad vissza úgy, hogy a bemeneti tömboszlopot egy kezdőindexből egy adott hosszra szeleteli. Az indexek 1-nél kezdődnek, és negatívak lehetnek az indexre a tömb végétől kezdve. A hossz az eredményként kapott tömb elemeinek számát adja meg.

Szemantika

from pyspark.sql import functions as sf

sf.slice(x, start, length)

Paraméterek

Paraméter Típus Description
x pyspark.sql.Column vagy str Szeletelendő bemeneti tömboszlop vagy oszlop neve.
start pyspark.sql.Column, str vagy int A szeletművelet kezdőindexe. Ha negatív, a tömb végéről indítja el az indexet.
length pyspark.sql.Column, str vagy int A szelet hossza, amely az eredményként kapott tömb elemeinek számát jelöli.

Visszatérítések

pyspark.sql.Column: Egy tömb típusú új oszlopobjektum, amelyben minden érték a megfelelő lista egy szelete a bemeneti oszlopból.

Példák

1. példa: A szeletfüggvény alapszintű használata.

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

2. példa: Szeletelés negatív kezdőindexkel.

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

3. példa: Oszlopbemeneteket tartalmazó szeletfüggvény a kezdéshez és a hosszhoz.

from pyspark.sql import functions as sf
df = spark.createDataFrame([([1, 2, 3], 2, 2), ([4, 5], 1, 3)], ['x', 'start', 'length'])
df.select(sf.slice(df.x, df.start, df.length)).show()
+-----------------------+
|slice(x, start, length)|
+-----------------------+
|                 [2, 3]|
|                 [4, 5]|
+-----------------------+