Как удалить значения между интервалами в кадре данных - PullRequest
1 голос
/ 02 ноября 2019

У меня есть CSV-файл с именем «BlockIsland25.csv» со столбцами «Дата», «Долгота», «Широта» и «Скорость ветра». Некоторое время назад я создал код, который удаляет значения, долгота которых выходит за пределы интервала (-71, -70).

import pandas as pd
import numpy
df = pd.read_csv(r"C:\\Users\\chz08006\\Documents\\Results1\\BlockIsland25.csv")
indexNames=df[(df['Longitude'] <= -71)|(df['Longitude']>=-70)].index
df.drop(indexNames,inplace=True)
df.to_csv(r"C:\\Users\\chz08006\\Documents\\Results1\\BlockIsland25.csv")

Как изменить этот код, чтобы также удалить значения в другом определенном интервале внутриинтервал? Например, как бы я изменил его, чтобы также удалить долготы от -70,8 до -70,7?

Вот моя попытка, которая дала мне пустой лист CSV. Возможно, не было значений в желаемых интервалах. Я не уверен, что это сработало как задумано.

import pandas as pd
import numpy
df = pd.read_csv(r"C:\\Users\\chz08006\\Documents\\Results1\\BlockIsland25.csv")
indexNames=df[(df['Longitude'] <= -71)|(df['Longitude']>=-70)|df['Longitude'].between(-70.8,-70.7))].index
df.drop(indexNames,inplace=True)
df.to_csv(r"C:\\Users\\chz08006\\Documents\\Results1\\BlockIsland25.csv")

1 Ответ

3 голосов
/ 02 ноября 2019

Не нужно разбивать на два шага, мы можем добавить ~

con1=(df['Longitude'] <= -71)|(df['Longitude']>=-70)
con2=df['Longitude'].between(-70.8,-70.7)
df[~(con1|con2)].to_csv()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...