DataFrame 中的列。
支持 Spark Connect
Syntax
请参阅 “创建列实例”。
方法
| 方法 | 说明 |
|---|---|
alias(*alias, **kwargs) |
返回具有新名称或名称的列别名(在返回多个列(如爆炸)的表达式中)。 |
asc() |
基于列的升序返回排序表达式。 |
asc_nulls_first() |
根据列的升序返回排序表达式,在非 null 值之前返回 null 值。 |
asc_nulls_last() |
根据列的升序返回排序表达式,null 值显示在非 null 值之后。 |
astype(dataType) |
cast()的别名。 |
between(lowerBound, upperBound) |
检查当前列的值是否介于指定的下限和上限之间(含)。 |
bitwiseAND(other) |
使用另一个表达式计算此表达式的按位 AND。 |
bitwiseOR(other) |
使用另一个表达式计算此表达式的按位 OR。 |
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() |
如此 如果当前表达式为 NaN。 |
isNotNull() |
如果当前表达式不为 null,则为 True。 |
isNull() |
如果当前表达式为 null,则为 True。 |
isin(*cols) |
如果此表达式的值由参数的计算值包含,则计算结果为 true 的布尔表达式。 |
like(other) |
类似于 SQL 的表达式。 |
name(*alias, **kwargs) |
alias()的别名。 |
otherwise(value) |
计算条件列表,并返回多个可能的结果表达式之一。 |
over(window) |
定义开窗列。 |
rlike(other) |
SQL RLIKE 表达式(带有正则表达式的 LIKE)。 |
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()