#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. Вы правы, я допустил ошибку при переписывании кода.