我有两个PySpark DataFrame df1
和df2
。它们具有相同的列名,但可能具有不同的行数。此外,某些组合可能不存在于其中一个DataFrame中。
df1 =
wpk ipk num
1 2 23.4
1 3 45.5
2 1 0.0
df2 =
wpk ipk num
1 1 12.0
1 3 40.0
2 1 50.0
我想获得一个新的DataFrame df
,它是df1
和df2
外部加入的结果。 df
应该具有相同的列,但列num
应该是df1
和df2
的最大值。
预期结果是这一个:
wpk ipk num
1 1 12.0
1 2 23.4
1 3 45.5
2 1 50.0
答案 0 :(得分:0)
我不确定这是否适合您的问题,但这将是我如何实现指定的结果。
import pandas as pd
df3 = df1.append(df2).groupby(['wpk','ipk'])['num'].max()