Freigeben über


Column-Klasse

Eine Spalte in einem DataFrame.

Unterstützt Spark Connect

Syntax

Siehe Erstellen von Spalteninstanzen.

Methodik

Methode Beschreibung
alias(*alias, **kwargs) Gibt diese Spalte zurück, die mit einem neuen Namen oder Namen aliased ist (bei Ausdrücken, die mehr als eine Spalte zurückgeben, z. B. explodieren).
asc() Gibt einen Sortierausdruck basierend auf der aufsteigenden Reihenfolge der Spalte zurück.
asc_nulls_first() Gibt einen Sortierausdruck basierend auf aufsteigender Reihenfolge der Spalte zurück, und Nullwerte werden vor Nicht-Null-Werten zurückgegeben.
asc_nulls_last() Gibt einen Sortierausdruck basierend auf aufsteigender Reihenfolge der Spalte zurück, und Nullwerte werden nach Nicht-Null-Werten angezeigt.
astype(dataType) Alias für cast().
between(lowerBound, upperBound) Überprüfen Sie, ob die Werte der aktuellen Spalte zwischen den angegebenen unteren und oberen Begrenzungen (einschließlich) liegen.
bitwiseAND(other) Berechnen Sie bitweise UND dieses Ausdrucks mit einem anderen Ausdruck.
bitwiseOR(other) Berechnen Sie bitweise ODER dieses Ausdrucks mit einem anderen Ausdruck.
bitwiseXOR(other) Berechnen Sie bitweise xOR dieses Ausdrucks mit einem anderen Ausdruck.
cast(dataType) Wandelt die Spalte in den Typ dataTypeum.
contains(other) Enthält das andere Element.
desc() Gibt einen Sortierausdruck basierend auf der absteigenden Reihenfolge der Spalte zurück.
desc_nulls_first() Gibt einen Sortierausdruck basierend auf der absteigenden Reihenfolge der Spalte zurück, und Nullwerte werden vor Nicht-Null-Werten angezeigt.
desc_nulls_last() Gibt einen Sortierausdruck basierend auf der absteigenden Reihenfolge der Spalte zurück, und Nullwerte werden nach Nicht-Null-Werten angezeigt.
dropFields(*fieldNames) Ein Ausdruck, der Felder in StructType anhand des Namens abbricht.
endswith(other) Die Zeichenfolge endet mit.
eqNullSafe(other) Gleichheitstest, der für Nullwerte sicher ist.
getField(name) Ein Ausdruck, der ein Feld anhand eines Namens in einem StructType abruft.
getItem(key) Ein Ausdruck, der ein Element an der Position einer Liste abruft oder ein Element anhand eines Schlüssels aus einem Diktat abruft.
ilike(other) SQL ILIKE-Ausdruck (GROß-/Kleinschreibung wird WIE nicht beachtet).
isNaN() True, wenn der aktuelle Ausdruck NaN ist.
isNotNull() True, wenn der aktuelle Ausdruck NICHT NULL ist.
isNull() True, wenn der aktuelle Ausdruck NULL ist.
isin(*cols) Ein boolescher Ausdruck, der auf "true" ausgewertet wird, wenn der Wert dieses Ausdrucks in den ausgewerteten Werten der Argumente enthalten ist.
like(other) SQL-Like-Ausdruck.
name(*alias, **kwargs) Alias für alias().
otherwise(value) Wertet eine Liste von Bedingungen aus und gibt einen von mehreren möglichen Ergebnisausdrücken zurück.
over(window) Definieren sie eine Fensterspalte.
rlike(other) SQL RLIKE-Ausdruck (LIKE mit Regex).
startswith(other) Zeichenfolge beginnt mit.
substr(startPos, length) Gibt eine Spalte zurück, die eine Teilzeichenfolge der Spalte ist.
try_cast(dataType) Dies ist eine spezielle Version, die cast denselben Vorgang ausführt, aber gibt einen NULL-Wert zurück, anstatt einen Fehler zu auslösen, wenn die Aufrufmethode eine Ausnahme auslöst.
when(condition, value) Wertet eine Liste von Bedingungen aus und gibt einen von mehreren möglichen Ergebnisausdrücken zurück.
withField(fieldName, col) Ein Ausdruck, der ein Feld in StructType durch den Namen hinzufügt/ersetzt.

Betriebspersonal

Die Column-Klasse unterstützt standardmäßige Python-Operatoren für arithmetische, Vergleichs- und logische Vorgänge:

  • Arithmetik: +, , *-, /, , %**
  • Vergleich: ==, , !=, <=<, , >>=
  • Logisch: & (UND), (ODER), ~| (NICHT)

Beispiele

Einfachere Beispiele, die die Verwendung von Spalten veranschaulichen, finden Sie unter "Spaltenvorgänge".

Erstellen von Spalteninstanzen

Wählen Sie eine Spalte aus einem DataFrame aus:

df = spark.createDataFrame(
    [(2, "Alice"), (5, "Bob")], ["age", "name"])

# Access by attribute
df.name
# Column<'name'>

# Access by bracket notation
df["name"]
# Column<'name'>

Erstellen einer Spalte aus einem Ausdruck:

df.age + 1
# Column<...>

1 / df.age
# Column<...>

Grundlegende Spaltenvorgänge

# Arithmetic operations
df.select(df.age + 10).show()

# Comparison operations
df.filter(df.age > 3).show()

# String operations
df.filter(df.name.startswith("A")).show()

# Null checking
df.filter(df.name.isNotNull()).show()

Bedingte Logik

from pyspark.sql import functions as F

df.select(
    F.when(df.age < 3, "child")
     .when(df.age < 13, "kid")
     .otherwise("adult")
     .alias("age_group")
).show()

Sortieren

df.orderBy(df.age.desc()).show()
df.orderBy(df.age.asc_nulls_last()).show()