Я пытаюсь создать кадр данных pandas, который описывает процентное значение NULL для каждого объекта в моем наборе обучающих данных, а также дает коэффициент корреляции для каждого числового объекта по отношению к зависимой переменной.Вот мой код:
#Count nulls and compute share
null_cols = pd.DataFrame(train.isnull().sum().sort_values(ascending = False))
null_cols.columns = ['NullCount']
null_cols.index.name = 'Features'
null_cols['Share'] = np.round(100 * null_cols['NullCount'] / len(train), decimals=2)
#Compute correlation of each numeric feature with respect to the dependent variable
for row in null_cols.index:
print(row, np.where(is_numeric_dtype(train[row]), str(train['Dependent Var'].corr(train[row])), ''))
#print(row, np.where(is_numeric_dtype(train[row]), str(train[row].isnull().sum()), ''))
При выполнении этого я получаю TypeError: неподдерживаемые типы операндов для /: 'str' и 'int'.Я думаю, что эта ошибка исходит от функции corr, но почему она запускается в функции 'where' для нечислового типа данных.Разве это не должно попасть в остальное?
Закомментированная строка кода, т. Е.
print(row, np.where(is_numeric_dtype(train[row]),str(train[row].isnull().sum()),''))
, работает без ошибок, а функция 'where' работает, как и ожидалось.