Фильтрация CSV-файла с использованием двух столбцов

#python

#питон

Вопрос:

Я новичок в python. Я работаю над CSV файлом, в котором более миллиона записей. В данных каждое местоположение имеет уникальный идентификатор (SiteID). Я хочу отфильтровать и удалить любые записи, в которых нет значения или несоответствия между SiteID и Location в моем CSV файле. (Примечание: Этот скрипт должен выводить номер строк и значения полей несоответствия для каждой записи.)

У меня есть следующий код. Пожалуйста, помогите мне:

 import pandas as pd  pd = pandas.read_csv ('car-auction-data-from-ghana', delimiter = ";") pd.head()  date_time = (pd['Date Time'] gt;= '2010-01-01T00:00:00 00:00') #to filter from a specific date   comparison_column = pd.where(pd['SiteID'] == pd['Location'], True, False)  comparison_column  

Ответ №1:

Это должно быть вашим решением:

 df = pd.read_csv('car-auction-data-from-ghana', delimiter = ";")  print(df.head())    date_time = (df['Date Time'] gt;= '2010-01-01T00:00:00 00:00') #to filter from a specific date    df = df[df['SiteID'] == df['Location']] print(df)   

Вам нужно вызвать read_csv как члена pd, потому что это псевдоним импортированного пакета, и использовать df в качестве переменной для вашего фрейма данных. Строка со сравнением отбрасывает строки, в которых логическое значение не равно, в данном случае два не равны.

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

1. Спасибо за помощь. Код работает, однако он возвращает 23 столбца и 0 строк. От профессора он должен вернуть более 700 000 строк данных.