Проблемы с фильтрацией данных xlsx и csv с помощью панд

#python #pandas #csv #filter #xlsx

Вопрос:

У меня проблема с тем, как фильтровать точки данных xlsx и csv с помощью панд.

 import pandas as pd df = pd.read_excel("Wind.xlsx") df.head() filter = df[["WindSpeed"] gt; 2] ew=df[filter] print(ew)  

Почему он не вернет значение больше 2?

Результатом является ошибка, которая заключается в следующем:

Ошибка типа: «gt; » не поддерживается между экземплярами «список» и «int»

Ответ №1:

Воспользуйся

 filter = df["WindSpeed"] gt; 2  

Комментарии:

1. Я уже пробовал.. Затем он вернет следующую ошибку: ошибка типа: «gt; » не поддерживается между экземплярами «str» и «int»

2. @ФредерикН. Педерсен, ваша ошибка предполагает, что в столбце скорость ветра есть значения, которые не являются числовыми. Что возвращает df.dtypes для этого столбца?

3. Первая строка файла — это заголовок-может быть, в этом проблема?

4. Чем, вероятно, вам придется выполнить кастинг в «int»

5. Это должно быть потому Windspeed , что имеет тип string. Попробуй filter = df["WindSpeed"].astype('int') gt; 2 .

Ответ №2:

Попробуй это

 filter = df[df['WindSpeed'] gt; 2]  

Комментарии:

1. Я получаю следующую ошибку: ошибка типа: «gt; «не поддерживается между экземплярами «str» и «int»

2. Проблема в том, что скорость ветра имеет тип string, поэтому вам нужно преобразовать ее в тип int. Поэтому вам следует использовать df[df[‘Скорость ветра’].astype(int) gt; 2]

3. У меня есть свой ответ. Спасибо за ваш вклад 🙂