python - 向 pyspark 中的数据框添加列
问题描述
我想根据现有列的值使用pyspark
.
例如,如果这是原始数据框,我想添加一个名为“父级数据”的新列,其中包含基于列“parent_id”的父级数据,以便生成的数据框如下所示。
任何帮助,将不胜感激。谢谢你。
解决方案
我确信有多种方法可以实现这一目标。但是,最简单的方法是使用 2 列现有数据框创建一个新数据框。然后加入 2 数据框来实现这一点。
这是代码
df1 = pd.DataFrame([[1, 'a', 2], [2, 'b', 3], [3, 'c', 1]], columns=["id", "data", "parent_id"])
print(df1)
sparkdf=spark.createDataFrame(df1)
sparkdf.show()
sparkdf2=sparkdf.select('id','data')
sparkdf2.show()
sparkdf.registerTempTable("sparkdf")
sparkdf2.registerTempTable("sparkdf2")
sparkdf3=spark.sql('select a.id,a.data,a.parent_id,b.data from sparkdf as a join sparkdf2 as b on a.parent_id=b.id')
sparkdf3.show()
推荐阅读
- vb.net - Newtonsoft JsonProperty 订单属性的 VB.NET 语法
- graph-theory - 这是一个什么样的图表?
- javascript - 从 JSON Array Javascript 创建菜单
- ios - 从使用 Gmail 帐户的电子邮件应用程序打开我的 iOS 现有应用程序不起作用
- javascript - “无法读取 null 的属性‘addEventListener’”以加载元素
- c - 我编译这个 c 文件没有错误或警告,但是当我运行它时不返回任何结果
- angular - html2canvas 在 Angular 应用程序中抛出非代码破坏承诺错误。
- c# - 具有重复 ID 的集合展平为一行
- python - 当不满足 target_accept 时,pymc3 有没有办法引发异常?
- windows - SQLPLUS 无法在 Windows 命令提示符下连接