2017-03-29 36 views
1

我使用的django-restframework,熊猫,Django的熊猫作出API和我得到以下输出enter image description hereDjango的restframework与熊猫

这是一个单个用户的数据,并且每个标签表示列名字,但我要在以下格式

enter image description here

谁能帮助来获得所需格式的数据

我的代码是

输出

views.py

@api_view(['GET']) 
def my_view(request,id): 
    qs = Health.objects.filter(id = id) 
    df = read_frame(qs) 
    df['x-Mean'] = abs(df['Age'] - df['Age'].mean()) 
    df['1.96*std'] = 1.96*df['Age'].std() 
    df['Outlier'] = abs(df['Age'] - df['Age'].mean()) > 1.96*df['Age'].std() 
    df['bmi'] = df['Weight']/(df['Height']/100)**2 
    a = df.fillna(0) 
    return Response(a) 

回答

3

这是发生因为apandas.DataFrame并且它对应于表中,所以在序列化期间它试图表示每个表的列的所有数据。 DataFrame不知道每列只有一个值。 值已经被手动地提取到:

a = {column: values[0] for column, values in df.fillna(0).to_dict().items(orient='list')} 
return Response(a) 

详情检查http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_dict.html

+0

由于@zymud我添加to_dict()方法df.fillna()之后和它的工作一个= a.to_dict(东方='记录') – srk