如何根据另一个数据框更改数据框的元素?
how to change elements of a data frame based on another dataframe?
我有一个大数据df
。我还有另一个 csv 文件 dg
。 dg
数据框是通过以下代码从 df
生成的:
dg=df.groupBy('title).count().orderBy('count')
我在 dg
上附加了一个新专栏,名为 new
。我想创建一个新列并遍历 df
的所有行,如果 df 中的 title
等于 dg
中的 title
将其更改为 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
一个left join
应该可以。
df.join(dg, ['title'], "left").show()
+------+----+
| title| new|
+------+----+
|summer| AH|
| apple| now|
| hi|good|
| hi|good|
| apple| now|
+------+----+
我有一个大数据df
。我还有另一个 csv 文件 dg
。 dg
数据框是通过以下代码从 df
生成的:
dg=df.groupBy('title).count().orderBy('count')
我在 dg
上附加了一个新专栏,名为 new
。我想创建一个新列并遍历 df
的所有行,如果 df 中的 title
等于 dg
中的 title
将其更改为 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
一个left join
应该可以。
df.join(dg, ['title'], "left").show()
+------+----+
| title| new|
+------+----+
|summer| AH|
| apple| now|
| hi|good|
| hi|good|
| apple| now|
+------+----+