在 PySpark 数据框中添加不同长度的列作为新列

Add column with different length as new column in PySpark dataframe

我有这个数据框,我将调用 DF1:

我有第二个数据框 DF2(只有 3 行):

我想在 DF1 中创建一个新列我将调用 total_population_by_year1 其中:

total_population_by_year1 = (DF2的内容 if year DF1 == Year DF2) 换句话说,新的列行将填充每年的总人口。

到目前为止我做了什么:

df_tg = DF2.join(DF1[DF1.total_population_by_year == 
DF1.Year], ["Year", "Level_One_ICD", 
"total_patient_Level1_by_year"])

这returns一个错误。

实现此功能的一些想法?

你可以试试这个:

DF2 = DF2.toDF(['Year_2','total_population_by_year'])
DF1 = DF1.join(DF2, DF1.Year == DF2.Year_2).drop('Year_2')