Как эффективно отбросить однозначные столбцы из фрейма данных - PullRequest
0 голосов
/ 14 марта 2019

Как отбросить все столбцы, которые имеют одно значение, из кадра данных эффективно?

Я нашел два пути:

Этот метод игнорирует ноль и учитывает только другие значения, в моем случае мне нужно учитывать нули

# apply countDistinct on each column
col_counts = partsDF.agg(*(countDistinct(col(c)).alias(c) for c in partsDF.columns)).collect()[0].asDict()

этот метод занимает слишком много времени

col_counts = partsDF.agg(*(   partsDF.select(c).distinct().count() for c in partsDF.columns)).collect()[0].asDict()

#select the cols with count=1 in an array
cols_to_drop = [col for col in partsDF.columns if col_counts[col] == 1 ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...