Condividi tramite


Classe Column

Colonna in un dataframe.

Supporta Spark Connect

Sintassi

Vedere Creare istanze di colonna.

Methods

metodo Descrizione
alias(*alias, **kwargs) Restituisce questa colonna con alias con un nuovo nome o un nuovo nome,nel caso di espressioni che restituiscono più colonne, ad esempio esplodere.
asc() Restituisce un'espressione di ordinamento in base all'ordine crescente della colonna.
asc_nulls_first() Restituisce un'espressione di ordinamento in base all'ordine crescente della colonna e ai valori Null restituiti prima dei valori non Null.
asc_nulls_last() Restituisce un'espressione di ordinamento in base all'ordine crescente della colonna e i valori Null vengono visualizzati dopo valori non Null.
astype(dataType) Alias per cast().
between(lowerBound, upperBound) Controllare se i valori della colonna corrente sono compresi tra i limiti inferiori e superiori specificati, inclusi.
bitwiseAND(other) Calcolare l'AND bit per bit di questa espressione con un'altra espressione.
bitwiseOR(other) Calcolare l'OR bit per bit di questa espressione con un'altra espressione.
bitwiseXOR(other) Calcolo XOR bit per bit di questa espressione con un'altra espressione.
cast(dataType) Esegue il cast della colonna nel tipo dataType.
contains(other) Contiene l'altro elemento.
desc() Restituisce un'espressione di ordinamento in base all'ordine decrescente della colonna.
desc_nulls_first() Restituisce un'espressione di ordinamento in base all'ordine decrescente della colonna e i valori Null vengono visualizzati prima dei valori non Null.
desc_nulls_last() Restituisce un'espressione di ordinamento in base all'ordine decrescente della colonna e i valori Null vengono visualizzati dopo valori non Null.
dropFields(*fieldNames) Espressione che elimina i campi in StructType in base al nome.
endswith(other) La stringa termina con.
eqNullSafe(other) Test di uguaglianza sicuro per i valori Null.
getField(name) Espressione che ottiene un campo in base al nome in un oggetto StructType.
getItem(key) Espressione che ottiene un elemento in corrispondenza del numero ordinale di posizione all'esterno di un elenco o ottiene un elemento in base alla chiave da un dict.
ilike(other) Espressione SQL ILIKE (LIKE senza distinzione tra maiuscole e minuscole).
isNaN() True se l'espressione corrente è NaN.
isNotNull() True se l'espressione corrente non è Null.
isNull() True se l'espressione corrente è Null.
isin(*cols) Espressione booleana valutata su true se il valore di questa espressione è contenuto nei valori valutati degli argomenti.
like(other) SQL come expression.
name(*alias, **kwargs) Alias per alias().
otherwise(value) Valuta un elenco di condizioni e restituisce una tra più espressioni di risultato possibili.
over(window) Definire una colonna di windowing.
rlike(other) Espressione RLIKE SQL (LIKE con Regex).
startswith(other) La stringa inizia con .
substr(startPos, length) Restituisce una colonna che è una sottostringa della colonna.
try_cast(dataType) Si tratta di una versione speciale di cast che esegue la stessa operazione, ma restituisce un valore NULL anziché generare un errore se il metodo invoke genera un'eccezione.
when(condition, value) Valuta un elenco di condizioni e restituisce una tra più espressioni di risultato possibili.
withField(fieldName, col) Espressione che aggiunge/sostituisce un campo in StructType in base al nome.

Operatori

La classe Column supporta gli operatori Python standard per operazioni aritmetiche, di confronto e logiche:

  • Aritmetica: +, -, */, , %**
  • Confronto: ==, !=, <, <=, >>=
  • Logico: & (AND), | (OR), ~ (NOT)

Examples

Per esempi più semplici che illustrano l'utilizzo delle colonne, vedere Operazioni sulle colonne.

Creare istanze di colonna

Selezionare una colonna da un 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'>

Creare una colonna da un'espressione:

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

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

Operazioni di base sulla colonna

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

Logica condizionale

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

Ordinamento

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