为什么Django赢了';我不能提供熊猫所暗示的金额吗?
我正在使用为什么Django赢了';我不能提供熊猫所暗示的金额吗?,django,pandas,django-views,Django,Pandas,Django Views,我正在使用pandas操作Dataframe,然后我正在向用户呈现被操作的数据。我不知道这是熊猫的问题还是Django的问题(还是我的问题?)。我尝试将我的数据帧导出到.csv中,然后重新读取它,但没有任何内容 考虑这个Dataframe A B C 0 foo bar 10 1 foo bar2 20 2 foo bar 10 3 foo bar2 250
pandas
操作Dataframe
,然后我正在向用户呈现被操作的数据。我不知道这是熊猫的问题还是Django的问题(还是我的问题?)。我尝试将我的数据帧
导出到.csv
中,然后重新读取它,但没有任何内容
考虑这个Dataframe
A B C
0 foo bar 10
1 foo bar2 20
2 foo bar 10
3 foo bar2 250
在my views.py中,
df=df.groupby(['A','B']).sum().sum(级别=['A',],
“B'])。fillna(0)。重置索引()
context.update({'df':df.values})
返回上下文
在我的模板中
{df%中A、B、C的百分比}
{{A}
{{B}
{{C}}
{%endfor%}
我期待着见到你
A B C
0 foo bar 20
1 foo bar2 270
我看到了
A B C
0 foo bar 1010
1 foo bar2 20250
这很奇怪,因为我试图导出
.csv
并重新导入它。我相信这是一个bug。到目前为止,我了解到,当您试图将Django中的queryset设置为数据帧时,它仍然将每个值视为一个对象。所以当你尝试求和、减法时,你会遇到和我一样的问题
我是怎么处理的
#TODO: Use Django to export the .csv file instead of pandas.
qs = list(MyModel.objects.value_list('A', 'B', 'C'))
df = pd.DataFrame(qs, columns=['A', 'B', 'C'])
df.to_csv('location_of_csv/temp.csv', sep=';', index=None)
df = pd.read_csv('location_of_csv/temp.csv', sep=';')
df = df.groupby(['A', 'B']).sum().sum(level=['A', 'B']).fillna(0).reset_index()
context.update({'df': df.values})