dataframe - 如何根据另一个数据框更改数据框的元素?
问题描述
我有一个大数据df
。我还有另一个 csv 文件dg
。dg
数据框由以下df
代码制成:
dg=df.groupBy('title).count().orderBy('count')
我在其上附加了一个新列,dg
称为new
. 我想创建一个新列并遍历所有行df
,如果title
在 df 中相等title
,dg
则将其更改为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
解决方案
Aleft join
应该做的。
df.join(dg, ['title'], "left").show()
+------+----+
| title| new|
+------+----+
|summer| AH|
| apple| now|
| hi|good|
| hi|good|
| apple| now|
+------+----+
推荐阅读
- php - Bed24自定义支付集成
- asp.net-mvc-5 - 找不到包含 Startup 或 [AssemblyName].Startup 类的程序集
- jpa - 如何使用 JPA 在数据库中正确存储 BigDecimal?
- javascript - 如何在javascript中比较开始日期和结束日期
- python - 在 pandas 数据帧中的日期时间间隔上发出布尔值信号
- python - 从 Django 从 rest_framework 检索图像
- linux - 将带有 awk-commands 的 bash 脚本应用于文件
- sql-server - 是否建议将事实表处理为 SCD 类型 2?
- javascript - Angular HttpClient 返回未定义而不是数组
- javascript - Vue/Vuecli3 - 如何使用参数从一个组件路由到另一个组件