当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PySpark Column alias方法用法及代码示例


PySpark 列的 alias(~) 方法将列标签分配给 PySpark Column

参数

1. *alias | string

列标签。

2. metadata | dict | optional

包含附加 meta-information 的字典,存储在返回的 ColumnStructField 中。

返回值

新的 PySpark 列。

例子

考虑以下PySpark DataFrame:

df = spark.createDataFrame([["ALEX", 20], ["BOB", 30], ["CATHY", 40]], ["name", "age"])
df.show()



+-----+---+
| name|age|
+-----+---+
| ALEX| 20|
|  BOB| 30|
|CATHY| 40|
+-----+---+

PySpark SQL Functions 库中的大多数方法都会返回 Column 对象,其标签由我们使用的方法控制。例如,考虑 lower(~) 方法:

df.select(F.lower("name")).show()



+-----------+
|lower(name)|
+-----------+
|       alex|
|        bob|
|      cathy|
+-----------+

此处, lower(~) 返回的PySpark 列默认具有标签lower(name)

使用别名方法将新标签分配给PySpark列

我们可以使用 alias(~) 方法为列分配新标签:

df.select(F.lower("name").alias("lower_name")).show()



+----------+
|lower_name|
+----------+
|      alex|
|       bob|
|     cathy|
+----------+

在这里,我们将标签 "lower_name" 分配给 lower(~) 返回的列。

将meta-data存储在PySpark列的别名方法中

要将一些 meta-data 存储在 PySpark 列中,我们可以在 alias(~) 中添加 metadata 选项:

df_new = df.select(F.lower("name").alias("lower_name", metadata={"some_data": 10}))
df_new.show()



+----------+
|lower_name|
+----------+
|      alex|
|       bob|
|     cathy|
+----------+

metadata 是一个字典,将存储在Column 对象中。

要访问 metadata ,我们可以使用 PySpark DataFrame 的 schema 属性:

df_new.schema["lower_name"].metadata["some_data"]



10

相关用法


注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark Column | alias method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。