У меня есть Dataframe, df
В цикле на каждой итерации я создаю копию этого Dataframe, temp_df . Это почти то же самое, с небольшой разницей.
У меня есть классификационная модель, модель . Функция ification_results возвращает массив значений 0 и 1, который сообщает мне прогнозируемый класс для каждого элемента temp_df
Я хочу взять все элементы temp_df , которые предсказали классы = 1, и для хранения суммы значения в других столбцах для этих точных элементов.
Весь код выглядит так:
for c in range(number_of_iterations):
temp_df = df.copy()
temp_df["my_column"] = df.apply(lambda row: my_function(row, c), axis=1)
results[c] = temp_df[classification_results(model, temp_df)].another_column.sum()
Где:
classification_results(model, temp_df)
возвращает что-то вроде:
array([1., 0., 1., 1., 0., 1., 0.])
Так что я ожидаю, что:
temp_df[classification_results(model, temp_df)]
возвращает df только с несколькими элементами из temp_df, например, если бы я делал что-то вроде:
temp_df[temp_df["a_column"] == Something]
Вместо этого, запустив мой код, я получаю:
KeyError: "None of [Float64Index([1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0,
...
1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0],
dtype='float64', length=761)] are in the [columns]"
Я не мог найти ответ. Что я делаю не так?