将Django QuerySet转换为pandas DataFrame [英] Converting Django QuerySet to pandas DataFrame

查看:834
本文介绍了将Django QuerySet转换为pandas DataFrame的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将按照以下方式将Django QuerySet转换为熊猫DataFrame:

I am going to convert a Django QuerySet to a pandas DataFrame as follows:

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

它可以工作,但是有没有更有效的方法?

It works, but is there a more efficient way?

推荐答案

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')))

以上是我做同一件事的方式.最有用的添加是指定您感兴趣的字段.如果它只是您感兴趣的可用字段的子集,那么我想这将提高性能.

The above is how I do the same thing. The most useful addition is specifying which fields you are interested in. If it's only a subset of the available fields you are interested in, then this would give a performance boost I imagine.

这篇关于将Django QuerySet转换为pandas DataFrame的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆