SQL-запрос слишком медленный в python pandasql

#python #sql #pandas

#python #sql #pandas

Вопрос:

Я создал запрос с помощью pandasql в следующем коде :

 csv_path = "C:/..."
data = read_csv(csv_path, sep=';', encoding='utf-8') 

q= """
SELECT Address
FROM data
WHERE Id == 4357;
"""

print pandasql.sqldf(q,locals())
  

Итак, я создаю файл dataframe из .csv , а затем выполняю этот запрос

Мой исходный .csv файл имеет длину более 440 кб строк, во время кодирования я работаю над файлом длиной 50 строк, и даже с этим файлом выполнение запроса занимает 1 минуту, и он использует примерно 1,9 Гб физической памяти

Поэтому я не понимаю, почему это занимает так много времени и памяти. Я просмотрел некоторые веб-сайты, но там не так много информации о pandasql

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

1. Этот API выглядит странно. Переменная, представляющая собой таблицу данных, не указана. Вместо этого кажется, что приведенный здесь код github.com/yhat/pandasql/blob/master/pandasql/sqldf.py угадывает источник ваших данных на основе имен ваших таблиц в вашем запросе. Я бы подумал, что правильный запрос — «ВЫБРАТЬ адрес ИЗ данных, ГДЕ Id = 4357;» но вы сказали, что запрос выполнен успешно.

2. Вы правы, я допустил ошибку при переписывании кода.