Compartilhar via


Classe column

Uma coluna em um DataFrame.

Dá suporte ao Spark Connect

Sintaxe

Consulte Criar instâncias de Coluna.

Methods

Método Descrição
alias(*alias, **kwargs) Retorna esta coluna aliased com um novo nome ou nomes (no caso de expressões que retornam mais de uma coluna, como explodir).
asc() Retorna uma expressão de classificação com base na ordem crescente da coluna.
asc_nulls_first() Retorna uma expressão de classificação com base na ordem crescente da coluna e os valores nulos retornam antes dos valores não nulos.
asc_nulls_last() Retorna uma expressão de classificação com base 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) Compute AND bit a bit dessa expressão com outra expressão.
bitwiseOR(other) Compute OR bit a bit dessa expressão com outra expressão.
bitwiseXOR(other) Compute XOR bit a bit dessa expressão com outra expressão.
cast(dataType) Converte a coluna no tipo dataType.
contains(other) Contém o outro elemento.
desc() Retorna uma expressão de classificação com base na ordem decrescente da coluna.
desc_nulls_first() Retorna uma expressão de classificação com base na ordem decrescente da coluna e os valores nulos são exibidos antes dos valores não nulos.
desc_nulls_last() Retorna uma expressão de classificação com base na ordem decrescente da coluna e os valores nulos aparecem após valores não nulos.
dropFields(*fieldNames) Uma expressão que descarta campos em StructType por nome.
endswith(other) A cadeia de caracteres termina com.
eqNullSafe(other) Teste de igualdade seguro para valores nulos.
getField(name) Uma expressão que obtém um campo por nome em um StructType.
getItem(key) Uma expressão que obtém um item na posição ordinal de uma lista ou obtém um item por chave de um ditado.
ilike(other) Expressão ILIKE do SQL (maiúsculas de minúsculas LIKE).
isNaN() True se a expressão atual for NaN.
isNotNull() True se a expressão atual não for nula.
isNull() True se a expressão atual for nula.
isin(*cols) Uma expressão booliana avaliada como true se o valor dessa expressão estiver contido nos valores avaliados dos argumentos.
like(other) Expressão como 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 janela.
rlike(other) Expressão RLIKE do SQL (LIKE com Regex).
startswith(other) A cadeia de caracteres começa com.
substr(startPos, length) Retornar uma coluna que é uma subcadeia de caracteres da coluna.
try_cast(dataType) Essa é uma versão especial que cast executa a mesma operação, mas retorna um valor NULL em vez de gerar um erro se o método invoke gerar 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 dá suporte a operadores Python padrão para operações aritméticas, de comparação e lógicas:

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

Exemplos

Para obter exemplos mais simples que demonstram o uso de colunas, consulte Operações de coluna.

Criar instâncias de coluna

Selecione uma coluna 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 com base em 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()

Classificação

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