У меня есть два CSV-файла с 30-40 тысячами записей в каждом.
Я загрузил CSV-файлы в два соответствующих кадра данных.
Теперь я хочу выполнить эту sql-операцию над фреймами данных, а не в sqlite: обновить table1 set column1 = (выбрать column1 из table2, где table1.Id == table2.Id), column2 = (выбрать column2 из table2, где table1.Id == table2.Id) где column3 = 'some_value';
Я попытался выполнить обновление на фрейме данных в 4 этапа:
1. объединение фреймов данных по общему идентификатору
2. получение идентификаторов из фрейма данных, где столбец 3 имеет значение some_value
3. фильтрация кадра данных 1-го шага на основе идентификаторов, полученных на 2-м шаге.
4. использование лямбда-функции для вставки в информационный кадр, где совпадает Id.
Я просто хочу узнать другие взгляды на этот подход и есть ли какие-либо лучшие решения. Одна важная вещь заключается в том, что размер фрейма данных довольно велик, поэтому я считаю, что использование sqlite будет лучше, чем pandas, поскольку оно дает результат в одном запросе и намного быстрее.
Должен ли я использовать sqlite или есть какой-нибудь лучший способ выполнить эту операцию на фрейме данных?
Любые взгляды на это будут оценены. Спасибо.