dataframe - 在点分隔符上拆分列
问题描述
如何拆分 PySpark 数据框列,分隔符为点 ( .
)。split
对我来说,当我在点上使用 used时它似乎不起作用。
例如,带有 value 的列abcd.efgh
,应该分为带有 valueabcd
和的两列efgh
。
解决方案
这是df
基于您的示例。
from pyspark.sql import SparkSession, functions as F
spark = SparkSession.builder.getOrCreate()
df = spark.createDataFrame([('abcd.efgh',)], ['c1'])
df.show()
#+---------+
#| c1|
#+---------+
#|abcd.efgh|
#+---------+
对于拆分一个可以split
这样使用:
splitCol = F.split('c1', '[.]', 2)
df = df.select(
splitCol[0].alias('c1_0'),
splitCol[1].alias('c1_1'),
)
df.show()
#+----+----+
#|c1_0|c1_1|
#+----+----+
#|abcd|efgh|
#+----+----+
推荐阅读
- rx-swift - 无法转换“PrimitiveSequence”类型的返回表达式
' 返回类型 'Observable ' - javascript - React Router 向组件添加内容
- javascript - 如何根据下拉菜单隐藏/显示 td
- c# - 检查IUSR组是否对文件夹有写权限
- xpath - 从 yahoo 财务表中提取 Xpath 数据
- angular - 在Angular 6中使用主题订阅时无法绑定数据
- sql - 不使用 where 子句中的函数的不区分大小写的搜索
- vue.js - 有没有办法在这种结构 Vuex 中使用 Promise
- php - Laravel - 找不到类'Collective\Html\HtmlServiceProvider'
- swift - <1> HTTP 加载失败(错误代码:-1003 [12:8])