По сути, это для сравнения двух фреймов данных, я могу сравнить их имена с:
def diff(first, second):
second = set(second)
return [item for item in first if item not in second]
Но я также хочу сравнить не только по имени, но и по типу данных
Пример кадра данных, как показано ниже:
>>> pDF1.schema
StructType(
List(
StructField(Scen_Id,IntegerType,true),
StructField(Flow_Direction,StringType,true),
StructField(Dataset_Type,StringType,true),
StructField(Flag_Extrapolation_Percent_Change_Stay,IntegerType,true)
)
)
>>> pDF2.schema
StructType(
List(
StructField(Scen_Id,StringType,true),
StructField(Flow_Direction,StringType,true),
StructField(Dataset_Type,StringType,true),
StructField(Flag_Extrapolation_Percent_Change_Stay,IntegerType,true)
)
)
Как вы можете видеть из этого конкретного упрощенного примера (часто тот случай, когда наш информационный фрейм содержит более 100 полей), pDF2 имеет то же имя / тип данных pDF1, за исключением первого поля, которое имеет другой тип данных.
Большое спасибо.