我有一个pyspark框架,其中包含一些ID数据和2个位置列,它们是由逗号分隔的字符串:| ID|国家|市|| --|--|--|| 1 |美国、墨西哥|加州墨西哥城|| 2 |德国、法国、瑞典|慕尼黑,巴黎,斯德哥尔摩|我想分解这些列,使它们成为新的行:| ID|国家|市|| --|--|--|| 1 |美国|加州|| 1 |墨西哥|墨西哥城|| 2 |德国|慕尼黑|| 2 |法国|巴黎|| 2 |瑞典|斯德哥尔摩|我如何才能做到这一点?
rkue9o1l1#
我们将结合使用:
假设df是你的框架:
df
df = df.withColumn( "data", F.explode(F.arrays_zip(F.split("Country", ","), F.split("City", ","))) ) df.select( "ID", F.col("data.0").alias("country"), F.col("data.1").alias("city"), ).show() +---+-------+-----------+ | ID|country| city| +---+-------+-----------+ | 1| USA| California| | 1| Mexico|Mexico City| | 2|Germany| Munich| | 2| France| Paris| | 2| Sweden| Stockholm| +---+-------+-----------+
字符串
1条答案
按热度按时间rkue9o1l1#
我们将结合使用:
假设
df
是你的框架:字符串