首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将熊猫DataFrame作为PickledObjectField存储在Django Model中是不是一种坏做法?

将熊猫DataFrame作为PickledObjectField存储在Django Model中是不是一种坏做法?
EN

Stack Overflow用户
提问于 2018-12-15 18:00:14
回答 1查看 168关注 0票数 0

我在Django模型中存储一个熊猫DataFrame作为PickledObjectField。我需要根据特定的逻辑访问和修改这个DataFrame。Pandas使这项工作变得容易得多,我有一个使用Pandas选择和过滤器的engine类。

我是否应该有一个单独的模型,将每一行存储在DataFrame中,然后使用django-pandas读取,执行操作并更新模型?这里的关键是,将通过添加/删除一些行来修改DataFrame,因此,如果要将其存储在模型中,则删除所有记录并重新填充模型会更容易。

DataFrame少于100行,所以我不担心可伸缩性。

EN

回答 1

Stack Overflow用户

发布于 2018-12-15 20:57:51

如果将数据框另存为拾取的对象,则在升级pandas后可能会出现不兼容问题。

如果您不需要操作数据框的单个行,那么我不会添加新的Django模型来保存记录,因为每次需要使用它们时,我都必须使用它们

  • 将它们全部读取到DataFrame中,
  • 执行一些操作,
  • 删除与此DataFrame相关的所有行,
  • ,最后再次大容量保存它们。

F211

我的建议是将DataFrame 转储为CSV文件,并将其位置保存在您现在拥有PickledObjectField的同一模型上。

代码语言:javascript
复制
df.to_csv('path/to/dataframe.csv')

使用CSV文件,您可以

代码语言:javascript
复制
df = pandas.read_csv('path/to/dataframe.csv')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53791310

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档