Dela via


Kolumnklass

En kolumn i en DataFrame.

Stöder Spark Connect

Syntax

Se Skapa kolumninstanser.

Methods

Metod Beskrivning
alias(*alias, **kwargs) Returnerar den här kolumnen alias med ett nytt namn eller namn (om det gäller uttryck som returnerar mer än en kolumn, till exempel explodera).
asc() Returnerar ett sorteringsuttryck baserat på kolumnens stigande ordning.
asc_nulls_first() Returnerar ett sorteringsuttryck baserat på kolumnens stigande ordning och null-värden returneras före värden som inte är null.
asc_nulls_last() Returnerar ett sorteringsuttryck baserat på kolumnens stigande ordning och null-värden visas efter värden som inte är null.
astype(dataType) Alias för cast().
between(lowerBound, upperBound) Kontrollera om den aktuella kolumnens värden ligger mellan de angivna nedre och övre gränserna, inklusive.
bitwiseAND(other) Beräkna bitvis OCH för det här uttrycket med ett annat uttryck.
bitwiseOR(other) Beräkna bitvis ELLER för det här uttrycket med ett annat uttryck.
bitwiseXOR(other) Beräkna bitvis XOR för det här uttrycket med ett annat uttryck.
cast(dataType) Omvandlar kolumnen till typen dataType.
contains(other) Innehåller det andra elementet.
desc() Returnerar ett sorteringsuttryck baserat på kolumnens fallande ordning.
desc_nulls_first() Returnerar ett sorteringsuttryck baserat på kolumnens fallande ordning och null-värden visas före värden som inte är null.
desc_nulls_last() Returnerar ett sorteringsuttryck baserat på kolumnens fallande ordning och null-värden visas efter värden som inte är null.
dropFields(*fieldNames) Ett uttryck som släpper fält i StructType efter namn.
endswith(other) Strängen slutar med.
eqNullSafe(other) Likhetstest som är säkert för null-värden.
getField(name) Ett uttryck som hämtar ett fält efter namn i en StructType.
getItem(key) Ett uttryck som hämtar ett objekt vid position som ordningstal från en lista, eller hämtar ett objekt efter nyckel ur en diktering.
ilike(other) SQL ILIKE-uttryck (skiftlägesokänsligt LIKE).
isNaN() Sant om det aktuella uttrycket är NaN.
isNotNull() Sant om det aktuella uttrycket inte är null.
isNull() Sant om det aktuella uttrycket är null.
isin(*cols) Ett booleskt uttryck som utvärderas till sant om värdet för det här uttrycket finns i argumentens utvärderade värden.
like(other) SQL-liknande uttryck.
name(*alias, **kwargs) Alias för alias().
otherwise(value) Utvärderar en lista över villkor och returnerar ett av flera möjliga resultatuttryck.
over(window) Definiera en fönsterkolumn.
rlike(other) SQL RLIKE-uttryck (SOM med Regex).
startswith(other) Strängen börjar med.
substr(startPos, length) Returnera en kolumn som är en delsträng av kolumnen.
try_cast(dataType) Det här är en särskild version av cast som utför samma åtgärd, men returnerar ett NULL-värde i stället för att skapa ett fel om metoden invoke utlöser ett undantag.
when(condition, value) Utvärderar en lista över villkor och returnerar ett av flera möjliga resultatuttryck.
withField(fieldName, col) Ett uttryck som lägger till/ersätter ett fält i StructType med namn.

Operatörer

Klassen Column stöder Python-standardoperatorer för aritmetiska, jämförelse- och logiska åtgärder:

  • Aritmetik: +, -, *, /, , , %**
  • Jämförelse: ==, !=, <, <=, , >, >=
  • Logiskt: & (OCH), | (ELLER), ~ (INTE)

Exempel

Mer enkla exempel som visar användningen av kolumner finns i Kolumnåtgärder.

Skapa kolumninstanser

Välj en kolumn från en DataFrame:

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

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

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

Skapa en kolumn från ett uttryck:

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

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

Grundläggande kolumnåtgärder

# 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()

Villkorsstyrd 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()

Sortering

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