Dataframe 重命名Pyspark列中的元素

Dataframe 重命名Pyspark列中的元素,dataframe,pyspark,rename,Dataframe,Pyspark,Rename,我目前正在尝试重命名pyspark数据框中的元素。数据帧df如下所示: +--------+------+------+ | hello| this|column| +--------+------+------+ | 132| 234| abc| |34563465|134134| def| | 12| 34| ghi| | 132| 234| jkl| |34563465|134134| mno| | 12|

我目前正在尝试重命名pyspark数据框中的元素。数据帧df如下所示:

+--------+------+------+
|   hello|  this|column|
+--------+------+------+
|     132|   234|   abc|
|34563465|134134|   def|
|      12|    34|   ghi|
|     132|   234|   jkl|
|34563465|134134|   mno|
|      12|    34|   pqr|
|     132|   234|   stu|
|34563465|134134|   ghi|
|      12|    34|   pqr|
+--------+------+------+
+--------+------+------+
|   hello|  this|column|
+--------+------+------+
|     132|   234|   cba|
|34563465|134134|   fed|
|      12|    34|   ihg|
|     132|   234|   lkj|
|34563465|134134|   onm|
|      12|    34|   rqp|
|     132|   234|   uts|
|34563465|134134|   ihg|
|      12|    34|   rqp|
+--------+------+------+
我想做的是按照以下方式重命名“column”列中的每个元素:

df['column'] = df['column'].map({'abc': 'cba',
                                 'def': 'fed',
                                 'ghi': 'ihg',
                                 'jkl': 'lkj',
                                 'mno': 'onm',
                                 'pqr': 'rqp',
                                 'stu': 'uts'})
因此,数据帧将如下所示:

+--------+------+------+
|   hello|  this|column|
+--------+------+------+
|     132|   234|   abc|
|34563465|134134|   def|
|      12|    34|   ghi|
|     132|   234|   jkl|
|34563465|134134|   mno|
|      12|    34|   pqr|
|     132|   234|   stu|
|34563465|134134|   ghi|
|      12|    34|   pqr|
+--------+------+------+
+--------+------+------+
|   hello|  this|column|
+--------+------+------+
|     132|   234|   cba|
|34563465|134134|   fed|
|      12|    34|   ihg|
|     132|   234|   lkj|
|34563465|134134|   onm|
|      12|    34|   rqp|
|     132|   234|   uts|
|34563465|134134|   ihg|
|      12|    34|   rqp|
+--------+------+------+

如何在pyspark中进行此更改?

您可以使用
替换
功能:

映射={
‘abc’:‘cba’,
“def”:“fed”,
‘ghi’:‘ihg’,
‘jkl’:‘lkj’,
‘mno’:‘onm’,
‘pqr’:‘rqp’,
“斯图”:“uts”
}
df=df.replace(to_replace=mapping,subset=['column'])