oblast

Vrátí nový sloupec pole tím, že vytvoří podsekvenci vstupního sloupce pole od počátečního indexu do určité délky. Indexy začínají na 1 a mohou být záporné pro index od konce pole. Délka určuje počet prvků ve výsledném poli.

Syntaxe

from pyspark.sql import functions as sf

sf.slice(x, start, length)

Parametry

Parameter Typ Description
x pyspark.sql.Column nebo str Vstupní maticový sloupec nebo název sloupce, který se má rozdělit.
start pyspark.sql.Column, str nebo int Počáteční index operace řezu. Pokud je záporná, spustí index od konce pole.
length pyspark.sql.Column, str nebo int Délka řezu představující počet prvků ve výsledném poli.

Návraty

pyspark.sql.Column: Nový objekt Column typu Pole, kde každá hodnota je řez odpovídajícího seznamu ze vstupního sloupce.

Examples

Příklad 1: Základní použití funkce řezu

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]|
+--------------+

Příklad 2: Vytváření řezů s záporným počátečním indexem

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]|
+---------------+

Příklad 3: Funkce Průřez se vstupy sloupců pro začátek a délku

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]|
+-----------------------+