首页 > 解决方案 > 如何根据另一个数据框更改数据框的元素?

问题描述

我有一个大数据df。我还有另一个 csv 文件dgdg数据框由以下df代码制成:

dg=df.groupBy('title).count().orderBy('count')

我在其上附加了一个新列,dg称为new. 我想创建一个新列并遍历所有行df,如果title在 df 中相等titledg则将其更改为new。例如假设:

title  
summer
apple
hi
hi
apple


title    new
summer   AH
apple    now
hi       good

输出:

 title  new 
summer  AH
apple   now
hi      good
hi      good
apple   now

标签: dataframepysparkbigdata

解决方案


Aleft join应该做的。

df.join(dg, ['title'], "left").show()

+------+----+
| title| new|
+------+----+
|summer|  AH|
| apple| now|
|    hi|good|
|    hi|good|
| apple| now|
+------+----+

推荐阅读