使用嵌套的不同模式联合两个数据帧-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用嵌套的不同模式联合两个数据帧

社区小助手 2018-12-06 11:55:15 683

Dataframe1看起来像这样

root
|-- source: string (nullable = true)
|-- results: array (nullable = true)
| |-- content: struct (containsNull = true)
| | |-- ptype: string (nullable = true)
| | |-- domain: string (nullable = true)
| | |-- verb: string (nullable = true)
| | |-- foobar: map (nullable = true)
| | | |-- key: string
| | | |-- value: string (valueContainsNull = true)
| | |-- fooId: integer (nullable = true)
|-- date: string (nullable = false)
|-- hour: string (nullable = false)
Dataframe 2如下所示:

root
|-- source: string (nullable = true)
|-- results: array (nullable = true)
| |-- content: struct (containsNull = true)
| | |-- ptype: string (nullable = true)
| | |-- domain: string (nullable = true)
| | |-- verb: string (nullable = true)
| | |-- foobar: map (nullable = true)
| | | |-- key: string
| | | |-- value: string (valueContainsNull = true)
|-- date: string (nullable = false)
|-- hour: string (nullable = false)
注意差异 - fooId第二个数据帧中没有。我如何将这两个数据帧结合在一起?我知道这两个模式需要与union相同。添加fooId或删除的最佳方法是什么fooId?(由于模式的结构,非常重要)建议使用此类联合的方法是什么。

分享到
取消 提交回答
全部回答(1)
  • 社区小助手
    2019-07-17 23:18:30

    使用DF1和DF2两个Dataframe,可以删除DF1中的额外列并运行两个数据帧的中断

    // this is to remove the extra column in the dataframe
    DF1.drop("fooId")
    现在两个DF都具有相同的列数,因此你可以进行联合

    DF1.union(DF2)

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章