Dataframe 如何基于另一个数据帧更改数据帧的元素?
我有一个大数据Dataframe 如何基于另一个数据帧更改数据帧的元素?,dataframe,pyspark,bigdata,Dataframe,Pyspark,Bigdata,我有一个大数据df。我还有另一个csv文件dg。dg数据帧由以下代码从df生成: dg=df.groupBy('title).count().orderBy('count') 我在dg上附加了一个新的列,称为new。如果df中的title等于dg中的title,我想创建一个新列并遍历df的所有行。例如,假设: title summer apple hi hi apple title new summer AH apple now hi good 输出:
df
。我还有另一个csv文件dg
。dg
数据帧由以下代码从df
生成:
dg=df.groupBy('title).count().orderBy('count')
我在dg
上附加了一个新的列,称为new
。如果df中的title
等于dg中的title
,我想创建一个新列并遍历df
的所有行。例如,假设:
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
左连接应该可以
df.join(dg, ['title'], "left").show()
+------+----+
| title| new|
+------+----+
|summer| AH|
| apple| now|
| hi|good|
| hi|good|
| apple| now|
+------+----+
不完全确定您想要实现什么,并且您所包含的示例也不清楚(例如,您写道您的dg
中有计数,但没有一个示例包含数字),但您是否正在寻找pandas.merge()
?您可以在其中指定一个内部
连接。还是您的大数据太大,无法使用pandas
?它有数百万行,太大了它不是pandas数据框架这是pyspark代码。不是熊猫。它重复了许多事情使用distinct()
删除重复项:df.join(dg,['title'],“left”).distinct().show()
。上述解决方案适用于您发布的内容。如果你仍然有问题,请用清晰的例子更新问题。