У меня есть ситуация, когда мне нужно отбросить много столбцов моего информационного кадра, где пропущены высокие значения. Я создал новый кадр данных, который дает мне пропущенные значения и соотношение пропущенных значений из моего исходного набора данных.
Мой исходный набор данных - data_merge2 выглядит следующим образом:
A B C D
123 ABC X Y
123 ABC X Y
NaN ABC NaN NaN
123 ABC NaN NaN
245 ABC NaN NaN
345 ABC NaN NaN
набор данных count выглядит примерно так, что дает мне недостающие счет и соотношение:
missing_count missing_ratio
C 4 0.10
D 4 0.66
Код, который я использовал для создания набора данных count, выглядит следующим образом:
#Only check those columns where there are missing values as we have got a lot of columns
new_df = (data_merge2.isna()
.sum()
.to_frame('missing_count')
.assign(missing_ratio = lambda x: x['missing_count']/len(data_merge2)*100)
.loc[data_merge2.isna().any()] )
print(new_df)
Теперь я хочу удалить столбцы из исходного кадра данных, коэффициент пропуска которых составляет> 50%. Как мне этого добиться?