嗨,我有以下格式的 spark 資料框
| id | Name | Round_1_id |Round_1_name|Round_2_id|Round_2_name|
| ---| ------|------------|------------|----------|------------|
| 12 | ABC | 45 |BCD | 34 | HRF |
那里不僅有兩輪而且總共有10輪
我只想為圓形列名稱更改列名稱如下
| ID | 姓名 | Round_1_identity | Round_1_Fullname | Round_2_identity | Round_2_Fullname |
|---|---|---|---|---|---|
| 12 | 美國廣播公司 | 45 | BCD | 34 | 人力資源基金 |
只應更改具有圓形的列名稱
我正在嘗試下面的代碼,但它不起作用
rename_col={"id":"identity","name":"Fullname"}
for c in df.columns:
if 'Round' in c:
for key,value in rename_col.items():
df1=df.replace(key,value)
請幫助我。這將非常有幫助。
uj5u.com熱心網友回復:
您可以有條件地找到列名并將字符替換為 dict 中的值以獲取新列并使用 withColumnRenamed 重命名列。
請參閱下面的代碼
rename_col = {"id":"identity", "name":"Fullname"}
for col in df.columns:
if "Round" in col:
key = col.split("_")[-1]
new_col_name = col.replace(key, rename_col[key])
df = df.withColumnRenamed(col, new_col_name)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/474825.html
上一篇:如何增加microsoft.HDInsightazure的核心配額限制?
下一篇:如何檢查spark中的列資料型別
