PySpark 列的getItem(~)
方法从PySpark 列中的列表或字典中提取值。
参数
1. key
| any
key
值取决于列类型:
-
对于列表,
key
应该是一个整数索引,指示您希望提取的值的位置。 -
对于字典,
key
应该是您要提取的值的键。
返回值
新的 PySpark 列。
例子
考虑以下PySpark DataFrame:
rows = [[[5,6]], [[7,8]]]
df = spark.createDataFrame(rows, ['vals'])
df.show()
+------+
| vals|
+------+
|[5, 6]|
|[7, 8]|
+------+
提取列表中的n-th项目
要从 vals
列中的每个列表中提取第二个值:
# Assign a label to the column returned by getItem(~)
df_result = df.select(F.col('vals').getItem(1).alias('2nd val'))
df_result.show()
+-------+
|2nd val|
+-------+
| 6|
| 8|
+-------+
请注意,我们还可以使用 [~]
语法代替 getItem(~)
:
df_result = df.select(F.col('vals')[1].alias('2nd val'))
df_result.show()
+-------+
|2nd val|
+-------+
| 6|
| 8|
+-------+
指定超出列表范围的索引位置将返回 null
值:
df_result = df.select(F.col('vals').getItem(9))
df_result.show()
+-------+
|2nd val|
+-------+
| null|
| null|
+-------+
使用字典中的键提取值
考虑以下PySpark DataFrame:
rows = [[{'A':4}], [{'A':5, 'B':6}]]
df = spark.createDataFrame(rows, ['vals'])
df.show()
+----------------+
| vals|
+----------------+
| {A -> 4}|
|{A -> 5, B -> 6}|
+----------------+
要提取键为 'A'
的值:
df_result = df.select(F.col('vals').getItem('A'))
df_result.show()
+-------+
|vals[A]|
+-------+
| 4|
| 5|
+-------+
请注意,引用不存在的键将返回 null
:
df_result = df.select(F.col('vals').getItem('C'))
df_result.show()
+-------+
|vals[C]|
+-------+
| null|
| null|
+-------+
相关用法
- Python PySpark Column isNotNull方法用法及代码示例
- Python PySpark Column rlike方法用法及代码示例
- Python PySpark Column cast方法用法及代码示例
- Python PySpark Column withField方法用法及代码示例
- Python PySpark Column endswith方法用法及代码示例
- Python PySpark Column dropFields方法用法及代码示例
- Python PySpark Column alias方法用法及代码示例
- Python PySpark Column isNull方法用法及代码示例
- Python PySpark Column otherwise方法用法及代码示例
- Python PySpark Column contains方法用法及代码示例
- Python PySpark Column startswith方法用法及代码示例
- Python PySpark Column isin方法用法及代码示例
- Python PySpark Column substr方法用法及代码示例
- Python Collections.UserString用法及代码示例
- Python Collections.UserDict用法及代码示例
- Python Collections.UserList用法及代码示例
- Python Django Collate用法及代码示例
- Python Django ContentTypeManager用法及代码示例
- Python Condition release()用法及代码示例
- Python Condition notify()用法及代码示例
- Python Django ContextMixin.get_context_data用法及代码示例
- Python Condition wait()用法及代码示例
- Python Django Coalesce用法及代码示例
- Python Django Cot用法及代码示例
- Python Django CoordTransform用法及代码示例
注:本文由纯净天空筛选整理自Isshin Inada大神的英文原创作品 PySpark Column | getItem method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。