python - 基于列合并两个火花数据框
问题描述
我有 2 个数据框,我需要根据一列(员工代码)合并它们。请注意,数据框有大约 75 列,所以我提供了一个示例数据集来获取一些建议/示例解决方案。我正在使用数据块,数据集是从 S3 读取的。
以下是我的 2 个数据框:
DATAFRAME - 1
|-----------------------------------------------------------------------------------|
|EMP_CODE |COLUMN1|COLUMN2|COLUMN3|COLUMN4|COLUMN5|COLUMN6|COLUMN7|COLUMN8|COLUMN9|
|-----------------------------------------------------------------------------------|
|A10001 | B | | | | | | | | |
|-----------------------------------------------------------------------------------|
DATAFRAME - 2
|-----------------------------------------------------------------------------------|
|EMP_CODE |COLUMN1|COLUMN2|COLUMN3|COLUMN4|COLUMN5|COLUMN6|COLUMN7|COLUMN8|COLUMN9|
|-----------------------------------------------------------------------------------|
|A10001 | | | | | C | | | | |
|B10001 | | | | | | | | |T2 |
|A10001 | | | | | | | | B | |
|A10001 | | | C | | | | | | |
|C10001 | | | | | | C | | | |
|-----------------------------------------------------------------------------------|
我需要基于 EMP_CODE 合并 2 个数据帧,基本上是基于 emp_code 将 dataframe1 与 dataframe2 连接起来。我在加入时得到重复的列,我正在寻求一些帮助。
预期的最终数据框:
|-----------------------------------------------------------------------------------|
|EMP_CODE |COLUMN1|COLUMN2|COLUMN3|COLUMN4|COLUMN5|COLUMN6|COLUMN7|COLUMN8|COLUMN9|
|-----------------------------------------------------------------------------------|
|A10001 | B | | C | | C | | | B | |
|B10001 | | | | | | | | |T2 |
|C10001 | | | | | | C | | | |
|-----------------------------------------------------------------------------------|
dataframe1 中有 3 行 emp_code A10001,dataframe2 有 1 行。所有数据应合并为一条记录,不得有任何重复列。
非常感谢
解决方案
你可以使用内连接
output = df1.join(df2,['EMP_CODE'],how='inner')
您也可以在最后应用 distinct 来删除重复项。
output = df1.join(df2,['EMP_CODE'],how='inner').distinct()
推荐阅读
- r - 使用 auto.Arima() 和 xreg 问题进行 ARIMA 预测
- scala - Scala检查对象是否是选项
- sql-server - 如何从 CATCH it T-SQL 中触发 SQL 异常?
- html - CSS 过渡字体真棒内容
- javascript - Angular,量角器自动测试定位器不起作用
- asp.net - Visual Studio asp.net 完整框架项目中的 Bootstrap 4
- linux - 如何为 python 3.7.0 创建虚拟环境?
- vba - VBA ColumnWidth 在相邻列中不起作用
- android - 不删除在线列表 - Android REST Retrofit
- python - Python:Matplotlib:divider.append_axes 不适用于 matplotlib 3.0.0