Dataframe 如何修改spark中的特定列?

Dataframe 如何修改spark中的特定列?,dataframe,apache-spark,pyspark,apache-spark-sql,Dataframe,Apache Spark,Pyspark,Apache Spark Sql,我有一个数据集,其中有一列电话号码,但号码是以999-999-9999格式写的。我想通过删除“-”并将它们连接在一起,将它们转换为整数或bigint,从而将其转换为整数格式。有人能帮我解决这个问题吗?您可以使用regexp\u replace删除连字符,然后转换为bigint: import pyspark.sql.functions as F df2 = df.withColumn('phone_col', F.regexp_replace('phone_col', '-', '').cas

我有一个数据集,其中有一列电话号码,但号码是以999-999-9999格式写的。我想通过删除“-”并将它们连接在一起,将它们转换为整数或bigint,从而将其转换为整数格式。有人能帮我解决这个问题吗?

您可以使用
regexp\u replace
删除连字符,然后转换为bigint:

import pyspark.sql.functions as F

df2 = df.withColumn('phone_col', F.regexp_replace('phone_col', '-', '').cast('bigint'))

谢谢你,这样行得通。。如果有人在向bigint进行类型转换时出错,只需使用long-type。