В pandas можно писать на sql! Как я мог не знать про duckdb?

Время от времени я делал "сложные" преобразования данных в pandas и каждый раз думал "как легко бы это было сделать в sql". Иногда это даже не были сложные по смыслу преобразования: например нестрогий джойн по дате в sql делается легко, а в pandas заставляет потрудиться.

И вот я узнал про duckdb и все проблемы как рукой сняло. Это похоже на нативный sql в пандас, где вместо названия таблицы указывается переменная в которой сохранён датафрейм. Пишется буквально в одну строчку: df1 = duckdb.query("SELECT name, age FROM df WHERE age > 28").to_df()

А кроме синтаксического удобства есть ещё два значимых плюса: эта штука сильно быстрее на больших объёмах данных и эффективнее по памяти (справляется даже с тем, что пандас роняет по лимитам оперативки)

Теперь я точно знаю, какая функция в пандас топ-1 по полезности)