Мы можем переписать ваш код:
a = df.withColumn("NuevaCol", df["AverageTemperature"] - df["AverageTemperatureUncertainty"])
b = df.withColumn("NuevaCol", df["AverageTemperature"] + df["AverageTemperatureUncertainty"])
dfPrep = dfCleanYear.withColumn(a).withColumn(b)
Первые две строки в порядке.Ошибка исходит от 3-го.С этой строкой есть две проблемы:
- Синтаксис
withColumn
должен быть dataframe.withColumn("New_col_name", expression)
, здесь в скобках есть только один аргумент - Здесь вы хотите взятьстолбец из одного кадра данных
df
и добавление к другому кадру данных dfCleanYear
.Итак, вы должны использовать join
, а не withColumn
.
Что-то нравится (не проверено):
df = df.withColumn("NuevaCol_A", df["AverageTemperature"] - df["AverageTemperatureUncertainty"])
df = df.withColumn("NuevaCol_B", df["AverageTemperature"] + df["AverageTemperatureUncertainty"])
dfPrep = dfCleanYear.join(df, "KEY")