當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。