Класс column

Столбец в кадре данных.

Поддержка Spark Connect

Синтаксис

См. статью "Создание экземпляров столбцов".

Методы

Метод Описание
alias(*alias, **kwargs) Возвращает этот столбец с новым именем или именами (в случае выражений, возвращающих несколько столбцов, таких как взрыв).
asc() Возвращает выражение сортировки в зависимости от порядка возрастания столбца.
asc_nulls_first() Возвращает выражение сортировки, основанное на порядке возрастания столбца, и значения NULL возвращаются до значений, отличных от NULL.
asc_nulls_last() Возвращает выражение сортировки по возрастанию столбца, а значения NULL отображаются после значений, отличных от NULL.
astype(dataType) Псевдоним для cast().
between(lowerBound, upperBound) Проверьте, находятся ли значения текущего столбца между указанными нижними и верхними границами включительно.
bitwiseAND(other) Вычислить битовое И этого выражения с другим выражением.
bitwiseOR(other) Вычислить битовое ИЛИ этого выражения с другим выражением.
bitwiseXOR(other) Вычислить побитовое XOR этого выражения с другим выражением.
cast(dataType) Приведение столбца к типу dataType.
contains(other) Содержит другой элемент.
desc() Возвращает выражение сортировки в зависимости от порядка убывания столбца.
desc_nulls_first() Возвращает выражение сортировки на основе порядка убывания столбца, а значения NULL отображаются до значений, отличных от NULL.
desc_nulls_last() Возвращает выражение сортировки на основе порядка убывания столбца, а значения NULL отображаются после значений, отличных от NULL.
dropFields(*fieldNames) Выражение, которое удаляет поля в StructType по имени.
endswith(other) Строка заканчивается на.
eqNullSafe(other) Проверка равенства, безопасная для значений NULL.
getField(name) Выражение, которое получает поле по имени в StructType.
getItem(key) Выражение, которое получает элемент в порядковом номере списка или получает элемент по ключу из дикта.
ilike(other) Выражение SQL ILIKE (без учета регистра LIKE).
isNaN() Значение True, если текущее выражение — NaN.
isNotNull() Значение True, если текущее выражение не равно NULL.
isNull() Значение True, если текущее выражение равно NULL.
isin(*cols) Логическое выражение, которое вычисляется как true, если значение этого выражения содержится вычисляемыми значениями аргументов.
like(other) SQL, например выражение.
name(*alias, **kwargs) Псевдоним для alias().
otherwise(value) Оценка списка условий и возвращение одного из нескольких возможных выражений результатов.
over(window) Определение столбца окна.
rlike(other) Выражение SQL RLIKE (LIKE с Regex).
startswith(other) Строка начинается с.
substr(startPos, length) Возвращает столбец, являющийся подстрокой столбца.
try_cast(dataType) Это специальная версия cast , которая выполняет ту же операцию, но возвращает значение NULL вместо того, чтобы вызвать ошибку, если метод вызова создает исключение.
when(condition, value) Оценка списка условий и возвращение одного из нескольких возможных выражений результатов.
withField(fieldName, col) Выражение, которое добавляет или заменяет поле в StructType по имени.

Операторы

Класс Column поддерживает стандартные операторы Python для арифметических, сравнения и логических операций:

  • Арифметические: +, -, *, /%**
  • Сравнение: ==, , !=<<=, >>=
  • Логические: & (AND), | (OR), ~ (NOT)

Примеры

Более простые примеры, демонстрирующие использование столбцов, см. в разделе "Операции столбцов".

Создание экземпляров столбцов

Выберите столбец из кадра данных:

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

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

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

Создайте столбец из выражения:

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

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

Основные операции столбцов

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

Условная логика

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

Сортировка

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