Удаление дублированных столбцов в кадре данных - PullRequest
0 голосов
/ 22 января 2020

Я знаю, что это кажется очень простым вопросом, и я искал для него google и stackoverflow, но не смог найти именно то, что мне нужно.

Я собрал некоторые данные из одного кадра данных config в другой config1 со следующим кодом. Основу кода предоставил другой участник stackoverflow. Спасибо @Sunny Shukla.

exprs=map(lambda c: max(c).alias(c), config.columns)
config1=config.groupBy(["seq_id","tool_id"])\
.agg(f.count(f.lit(1)).alias('count'),
     *exprs).where('count = 1').drop('count')

Фрейм данных config имеет 20 столбцов, а config1 df имеет 22 столбца, потому что я сгруппировал его, используя 2 столбца seq_id и tool_id, но сопоставил все исходные столбцы, чтобы сохранить исходные имена столбцов (я уверен, что есть более элегантный способ сделать это). Результирующий фрейм данных config1 поэтому имеет дублированные столбцы seq_id и tool_id. Если я сделаю config1.drop('seq_id','tool_id'), тогда он отбросит 4 столбца, и я получу 18 столбцов вместо 20. Есть ли более элегантный способ сделать это без написания UDF? Спасибо

...