【发布时间】:2019-11-25 14:50:14
【问题描述】:
我有两个 spark DataFrames captureRate 和 PatientCounts 例如:
患者人数:
DataFrame[year_qtr: string, x: double, y: double, z: double]
或
DataFrame[year_mon: string, x: double, y: double, z: double]
取决于 timePeriod 变量,该变量可能具有值 'year_qtr' 或 'year_mon'
捕获率:
DataFrame[product1: string, yr_qtr: string, vol: double, capt_rt: double]
或
DataFrame[product1: string, yr_mon: string, vol: double, capt_rt: double]
基本上,这两种情况下的键都是动态的并且不同,我需要加入两个数据框,例如:
capturedPatients = (PatientCounts
.join(captureRate
,PatientCounts.timePeriod == captureRate.yr_qtr
,"left_outer")
)
这是一个错误
AttributeError: 'DataFrame' object has no attribute 'timePeriod'
有什么指针可以像这样加入不相等的动态键吗?
【问题讨论】:
-
您能在这种情况下更具体地了解动态键吗?
-
如果连接列总是在相同的位置,你应该可以根据位置列进行连接:
PatientCounts.join(captureRate, on=PatientCounts[0] == captureRate[1], how="left_outer")
标签: apache-spark dataframe join pyspark