Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dataframe 如何修改spark中的特定列?_Dataframe_Apache Spark_Pyspark_Apache Spark Sql - Fatal编程技术网

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。