У меня есть фрейм данных, который генерируется с использованием pd.get_dummies, как показано ниже:
df_target = pd.get_dummies(df_column[column], dummy_na=True,prefix=column)
где столбец - это имя столбца, а df_column - кадр данных, из которого извлекается каждый столбец для выполнения некоторых операций.
rev_grp_m2_> 225 rev_grp_m2_nan rev_grp_m2_nan
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
1 0 0
0 0 0
0 0 0
0 0 0
0 0 0
Теперь я проверяю дисперсию для каждого сгенерированного столбца и пропускаю столбцы с нулевой дисперсией.
for target_column in list(df_target.columns):
# If variance of the dummy created is zero : append it to a list and print to log file.
if ((np.var(df_target_attribute[[target_column]])[0] != 0)==True):
df_final[target_column] = df_target[target_column]
Здесь из-за того, что два столбца совпадают, я получаю ключевую ошибку для строки np.var.
Существует два значения дисперсии для столбца nan:
erev_grp_m2_nan 0.000819
rev_grp_m2_nan 0.000000
В идеале я хотел бы взять тот с ненулевой дисперсией и пропустить / пропустить тот с 0 вар.
Может кто-нибудь, пожалуйста, помогите мне сделать это?