[英]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.