Привет всем. Мне нужно загружать pandas датафреймы в пострес, Вижу

что популярный вариант это .to_sql, но есть ли best practices лучше привести типы колонок самого датафрейма или уже на этапе загрузки в .to_sql указать в опции dtype. Также как более правильно определять primary and foreign keys? Есть ли лучшие альтернативы .to_sql?

3 ответов

25 просмотров

я ровно так и делаю, только использую бекенд pyarrow. И самая главная проблема - в какой-то рандомный момент pandas загружает float из одного PG, видит что значение нулевое "0.0" и в датафрейме образуется NaN! А при записи через to_sql он трансформируется в NULL. Так что получается лучше указывать dtype явно, если такая возможность есть.

Df -> csv -> copy

Хорошая альтернатива to_sql описана в документации pandas. Как уже отметили, это экспорт dataframe'а в CSV и потом чтение через команду COPY <table> (columns) FROM STDIN. https://pandas.pydata.org/docs/user_guide/io.html#insertion-method

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Как думаете через какой сервис они верифицируют?
inc.
5
Добрый день! Подскажите, каким сборщиком фронта для OctoberCMS кто пользуется? Я имею ввиду сборщики, с которыми можно работать по стандартной схеме директорий октября. Я испо...
Николай Афанасенко
2
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
На чём в основном щас пишут мини апы? Vuejs?
Goot evening Not everyone
6
Вопрос: Здравствуйте! У меня возникла проблема с использованием плагина Mall в OctoberCMS. Я использую все файлы и компоненты в их исходном виде, без изменений. Однако на стр...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
8
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
9
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
🙋 Ребята, всем привет. Поправил задачу: Нужно каждому новому сообщению (1 раз по каждому юзеру) в чате прибавлять снизу кнопку с предложением подписаться на канал. Как добавит...
Alexander
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Карта сайта