У меня есть набор данных со многими столбцами и значительным количеством строк, где один столбец равен na
.Я хотел бы сделать что-то вроде df.dropna()
, но по столбцам и с целью максимизации количества строк без na
.
Немного фона в наборе данных.,,многие из столбцов могут считаться частью набора данных «core», и эти столбцы ядра почти всегда будут без na.Другие столбцы (неосновные) являются менее полными, но различаются по своей полноте.В неосновных столбцах отсутствует шаблон, если значение отсутствует - строка, в которой отсутствуют данные в одном столбце, вряд ли будет отсутствовать в другом столбце.
Существует ли установленный способ решенияэтот?Если не .,.
Я думал, что будет возможно:
- Извлечь имена основных столбцов в список
- Извлечь имена неосновных столбцов вдругой список
- Используйте https://docs.python.org/3/library/itertools.html#itertools.combinations для генерации всех возможных комбинаций неосновных столбцов (каждый столбец сам по себе, затем все комбинации из 2, все комбинации из 3 и т. д.).
- Для каждой комбинации основных столбцов и текущей сгенерированной комбинации иттераторов неосновных столбцов задайте подкадр данных и считайте строки без значения.
- Зарегистрируйте все из них и выберите тот, который дал наибольшее количество строк.
У кого-нибудь есть опыт, чтобы сделать что-то подобное?
Спасибо