Django与熊猫
我正在使用django restframework、pandas、django pandas制作一个api,我得到了以下输出 这是单个用户的数据,每个标签表示一个列名,但我希望输出的格式如下 有人能帮助以所需格式获取数据吗 我的代码是 views.pyDjango与熊猫,django,pandas,django-rest-framework,Django,Pandas,Django Rest Framework,我正在使用django restframework、pandas、django pandas制作一个api,我得到了以下输出 这是单个用户的数据,每个标签表示一个列名,但我希望输出的格式如下 有人能帮助以所需格式获取数据吗 我的代码是 views.py @api_view(['GET']) def my_view(request,id): qs = Health.objects.filter(id = id) df = read_frame(qs) df['x-Mean
@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)
之所以发生这种情况,是因为
a
是一个pandas.DataFrame
,它对应于表,所以在序列化过程中,它尝试表示每个表列的所有数据DataFrame
不知道每列只有一个值。
必须手动提取值:
a = {column: values[0] for column, values in df.fillna(0).to_dict().items(orient='list')}
return Response(a)
有关更多详细信息,请检查Thank@zymud我在df.fillna()之后添加到了_dict()方法,它在a=a.to_dict(orient='records')中起作用