#python #pandas #outliers
#python #pandas #выбросы
Вопрос:
Я пытаюсь извлечь выбросы из фрейма данных pandas. Я хотел извлечь их по межквантовому расстоянию, но это вызвало «TypeError: недопустимое сравнение между dtype = float64 и str», но я не вижу, где это строка или значение с плавающей точкой, когда я проверил обе вещи, которые я сравнивал, upp_iqr, low_iqr, где pandas.core.series.Серия и прайс-лист представляли собой pandas.core.frame.Фрейм данных. Фрейм данных содержит только числа в своих ячейках. Это мой код:
prices_list = df.filter(regex='Price')
q1 = prices_list.quantile(0.25)
q3 = prices_list.quantile(0.75)
iqr = q3 - q1
low_iqr = q1 - (1.5 * iqr)
upp_iqr = q3 (1.5 * iqr)
if any(x > low_iqr for x in prices_list):
print("check_outlier: False")
logging.debug(print(price_outliers))
else:
print("check_outlier: False")
logging.debug(print(price_outliers))
Я ожидал, что он вернет фрейм данных с их значениями и позициями. Любая помощь была бы оценена, пожалуйста, и спасибо вам
Комментарии:
1. Что такое
prices_list.dtypes
?2. Это pandas.core.frame. Фрейм данных. Все является либо фреймом данных, либо серией
3. Но я запрашиваю
print (prices_list.dtypes)
не дляprint (type(prices_list))
4. В нем говорится, что upp low_iqr является float64 и что prices_list не имеет типа атрибута. Извините, не знал об этом, спасибо