Это плохая практика - хранить DataFrame Pandas как PickledObjectField в модели Django? - PullRequest
0 голосов
/ 15 декабря 2018

Я храню Pandas DataFrame в модели Django как PickledObjectField.Мне нужно получить доступ и изменить этот DataFrame на основе определенной логики.Pandas значительно облегчает эту работу, поскольку у меня есть класс движка, который использует команды выбора Pandas и фильтры.

Если у меня есть отдельная модель, в которой я сохраняю каждую строку в DataFrame, затем читаю это с помощью django-pandas,выполнить манипуляцию и обновить модель?Ключевым моментом здесь является то, что DataFrame будет изменен путем добавления / удаления некоторых строк, поэтому, если он будет сохранен в модели, было бы проще удалить все записи и повторно заполнить модель.

DataFrame меньше 100 строк, поэтому меня не волнует масштабируемость.

1 Ответ

0 голосов
/ 15 декабря 2018

У вас могут возникнуть проблемы с несовместимостью после обновления панд, если вы сохраните фреймы данных как выбранные объекты.

Если вам не нужно манипулировать отдельными строками фрейма данных, тогда Я бы не стал добавлятьновая модель Django для сохранения записей, потому что каждый раз, когда мне нужно их использовать, я должен

  • читать их все в DataFrame,
  • делать какую-то работу,
  • удалите все строки, связанные с этим DataFrame,
  • и, наконец, сохраните их снова.

Я предлагаю сбросить DataFrame как файл CSV и сохраните его местоположение на той же модели, где у вас есть PickledObjectField.

df.to_csv('path/to/dataframe.csv')

Используя CSV-файл, вы можете

df = pandas.read_csv('path/to/dataframe.csv')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...