[英]PySpark Replace Characters using regex and remove column on Databricks
我正在尝试从下面显示的数据框中删除一列和特殊字符。
下面用于创建数据框的代码如下:
dt = pd.read_csv(StringIO(response.text), delimiter="|", encoding='utf-8-sig')
以上产生以下输出:
我需要正则表达式的帮助来删除字符  并删除第一列。
至于正则表达式,我尝试了以下方法:
dt.withColumn('COUNTRY ID', regexp_replace('COUNTRY ID', @"[^0-9a-zA-Z_]+"_ ""))
但是,我收到语法错误。
非常感谢任何帮助。
如果传入列的位置是固定的,您可以使用正则表达式从列名中删除额外的字符,如下所示
import re
colname = pdf.columns[0]
colt=re.sub("[^0-9a-zA-Z_\s]+","",colname)
print(colname,colt)
pdf.rename(columns={colname:colt}, inplace = True)
对于删除索引列,您可以参考此堆栈答案
您已将数据作为 pandas 数据框读入。 据我所知,您需要一个火花数据框。 从 pandas 转换为 spark 并重命名列。 这将删除 pandas 默认索引列,在您的情况下,您将其称为第一列。 然后,您可以重命名列。 下面的代码
df=spark.createDataFrame(df).toDF('COUNTRY',' COUNTRY NAME').show()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.