更改 spark 数据框列名称
Change spark dataframe columns name
您好,我有一个格式如下的 spark 数据框
| id | Name | Round_1_id |Round_1_name|Round_2_id|Round_2_name|
| ---| ------|------------|------------|----------|------------|
| 12 | ABC | 45 |BCD | 34 | HRF |
那里不止两轮,一共10轮
我只想更改圆列名称的列名称如下
id
Name
Round_1_identity
Round_1_Fullname
Round_2_identity
Round_2_Fullname
12
ABC
45
BCD
34
HRF
只更改圆角的列名
我正在尝试下面的代码,但它不起作用
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)
请帮助我。这将非常有帮助。
您可以有条件地找到列名并将字符替换为字典中的值以获取新列并使用 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)
您好,我有一个格式如下的 spark 数据框
| id | Name | Round_1_id |Round_1_name|Round_2_id|Round_2_name|
| ---| ------|------------|------------|----------|------------|
| 12 | ABC | 45 |BCD | 34 | HRF |
那里不止两轮,一共10轮
我只想更改圆列名称的列名称如下
id | Name | Round_1_identity | Round_1_Fullname | Round_2_identity | Round_2_Fullname |
---|---|---|---|---|---|
12 | ABC | 45 | BCD | 34 | HRF |
只更改圆角的列名
我正在尝试下面的代码,但它不起作用
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)
请帮助我。这将非常有帮助。
您可以有条件地找到列名并将字符替换为字典中的值以获取新列并使用 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)