Partilhar via


Classe de colunas

Uma coluna num DataFrame.

Suporta Spark Connect

Sintaxe

Veja Criar instâncias de coluna.

Methods

Método Descrição
alias(*alias, **kwargs) Devolve esta coluna aliasada com um novo nome ou nomes (no caso de expressões que devolvam mais do que uma coluna, como explode).
asc() Devolve uma expressão de ordenação baseada na ordem crescente da coluna.
asc_nulls_first() Devolve uma expressão de ordenação baseada na ordem crescente da coluna, e os valores nulos retornam antes dos valores não nulos.
asc_nulls_last() Devolve uma expressão de ordenação baseada na ordem crescente da coluna, e os valores nulos aparecem após valores não nulos.
astype(dataType) Alias para cast().
between(lowerBound, upperBound) Verifique se os valores da coluna atual estão entre os limites inferior e superior especificados, inclusive.
bitwiseAND(other) Calcule bit a bit AND desta expressão com outra expressão.
bitwiseOR(other) Calcule OR bit a bit desta expressão com outra expressão.
bitwiseXOR(other) Calcule o XOR bit a bit desta expressão com outra expressão.
cast(dataType) Transforma a coluna no tipo dataType.
contains(other) Contém o outro elemento.
desc() Devolve uma expressão de ordenação baseada na ordem decrescente da coluna.
desc_nulls_first() Devolve uma expressão de ordenação baseada na ordem decrescente da coluna, e os valores nulos aparecem antes dos valores não nulos.
desc_nulls_last() Devolve uma expressão de ordenação baseada na ordem decrescente da coluna, e os valores nulos aparecem após valores não nulos.
dropFields(*fieldNames) Uma expressão que elimina campos no StructType pelo nome.
endswith(other) O fio termina em.
eqNullSafe(other) Teste de igualdade seguro para valores nulos.
getField(name) Uma expressão que recebe um campo pelo nome num StructType.
getItem(key) Uma expressão que tira um item em posição ordinal de uma lista, ou que obtém um item por chave de um dict.
ilike(other) Expressão SQL ILIKE (LIKE insensível a maiúsculas minúsculas).
isNaN() Verdade se a expressão atual for NaN.
isNotNull() Verdade se a expressão atual NÃO for nula.
isNull() Verdadeiro se a expressão atual for nula.
isin(*cols) Uma expressão booleana que é avaliada como verdadeira se o valor desta expressão estiver contido pelos valores avaliados dos argumentos.
like(other) Expressão semelhante a SQL.
name(*alias, **kwargs) Alias para alias().
otherwise(value) Avalia uma lista de condições e retorna uma das várias expressões de resultado possíveis.
over(window) Defina uma coluna de janelas.
rlike(other) Expressão SQL RLIKE (LIKE com Regex).
startswith(other) String começa com.
substr(startPos, length) Devolva uma Coluna que é uma subcadeia da coluna.
try_cast(dataType) Esta é uma versão especial de cast que realiza a mesma operação, mas devolve um valor NULL em vez de gerar um erro se o método invoke lançar exceção.
when(condition, value) Avalia uma lista de condições e retorna uma das várias expressões de resultado possíveis.
withField(fieldName, col) Uma expressão que adiciona/substitui um campo em StructType pelo nome.

Operadores

A classe Column suporta operadores Python padrão para operações aritméticas, comparativas e lógicas:

  • Aritmética: +, -, *, /, %, , **
  • Comparação: ==, !=, <, <=, >, >=
  • Lógico: & (AND), | (OU), ~ (NÃO)

Exemplos

Para exemplos mais simples que demonstrem o uso de colunas, veja Operações de colunas.

Criar instâncias de coluna

Selecione uma coluna a partir de um 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'>

Crie uma coluna a partir de uma expressão:

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

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

Operações básicas de coluna

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

Lógica condicional

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

Ordenação

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