Django-Queryset Dataframe-将小数转换为浮点数

时间:2019-03-25 19:36:38

标签: python django list django-queryset

我正在将查询集转换为数据框。 问题是项目的类型是'Decimals'(例如:Decimal('-1800000.00'))。我希望这些可以变成普通的浮点数,以便可以使用它们进行计算。

我该怎么做?

感谢所有人!

dataframe = pd.DataFrame(list(Item.objects.filter(item__slug=fundslug).values('date','amount')))

1 个答案:

答案 0 :(得分:0)

您要.astype("float")

要么是

dataframe = pd.DataFrame([Item.objects.filter(
                                   item__slug=fundslug).values(
                                       'date','amount')]).astype("float")

dataframe = pd.DataFrame([Item.objects.filter(
                                   item__slug=fundslug).values(
                                       'date','amount').astype("float")])

无论哪种方式都应该做同样的事情。

Pandas默认将其值保存为numpy数组,因此,除非.values('date','amount')以某种方式从方法调用中指定所需的确切值,否则您可能不需要它。

此外,如果只返回日期和金额,则最好将其声明为DateTime而不是float,因为这可能会节省以后的计算时间。我还建议将日期设置为index