将 Django QuerySet 转换为 pandas DataFrame

新手上路,请多包涵

我要将 Django QuerySet 转换为 pandas DataFrame 如下:

 qs = SomeModel.objects.select_related().filter(date__year=2012)
q = qs.values('date', 'OtherField')
df = pd.DataFrame.from_records(q)

它有效,但有没有更有效的方法?

原文由 Franco Mariluis 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答
import pandas as pd
import datetime
from myapp.models import BlogPost

df = pd.DataFrame(list(BlogPost.objects.all().values()))
df = pd.DataFrame(list(BlogPost.objects.filter(date__gte=datetime.datetime(2012, 5, 1)).values()))

# limit which fields
df = pd.DataFrame(list(BlogPost.objects.all().values('author', 'date', 'slug')))

以上是我做同样事情的方法。最有用的添加是指定您感兴趣的字段。如果它只是您感兴趣的可用字段的一个子集,那么我想这会提高性能。

原文由 lexual 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题