如何分割PySpark数据框列与分隔符点(.
)。对我来说,当我在点上使用split
时,它似乎不起作用。
。值为abcd.efgh
的列,应拆分为值为abcd
、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|
#+----+----+