Мне нужно вернуть логическое значение false, если в моем входном фрейме данных есть повторяющиеся столбцы с тем же именем. Я написал код ниже. Он идентифицирует повторяющиеся столбцы из входного фрейма данных и возвращает дублированные столбцы в виде списка. Но когда я вызываю эту функцию, она должна возвращать логическое значение, т. Е. Если мой входной фрейм данных содержит дублирующиеся столбцы с одинаковым именем, он должен возвращать flase.
@udf('string')
def get_duplicates_cols(df, df_cols):
duplicate_col_index = list(set([df_cols.index(c) for c in df_cols if df_cols.count(c) == 2]))
for i in duplicate_col_index:
df_cols[i] = df_cols[i] + '_duplicated'
df2 = df.toDF(*df_cols)
cols_to_remove = [c for c in df_cols if '_duplicated' in c]
return cols_to_remove
duplicate_cols = udf(get_duplicates_cols,BooleanType())