如何将Flask获取的列表数据转换为指定格式的Pandas DataFrame?
解决方案
直接将request.values.lists()返回的列表结构转换为字典,再传入pd.DataFrame()即可得到目标格式:
from flask import request import pandas as pd # 从客户端获取数据 data = request.values.lists() # 转换为字典后生成DataFrame df = pd.DataFrame(dict(data))
为什么原来的方法不行?
pd.DataFrame(data)会把列表中的每个元组(('列名', [值列表]))当成单独一行,导致列名和值列表被拆分成两列。而将列表转为字典后,Pandas会自动把字典的键作为列名,对应的值列表作为该列的行数据,完美匹配你需要的表格结构。
可选:数据类型转换
因为从前端获取的数值都是字符串类型,如果你需要将Blood Lactate转为浮点数、Velocity (km/h)转为整数,可以添加以下代码:
df['Blood Lactate'] = pd.to_numeric(df['Blood Lactate']) df['Velocity (km/h)'] = pd.to_numeric(df['Velocity (km/h)'])
验证结果
运行上述代码后,输出的DataFrame格式如下:
Time Blood Lactate Velocity (km/h) 0 00:30 1.0 9 1 03:30 1.1 10
内容的提问来源于stack exchange,提问作者haaz
相关产品推荐
相关产品推荐

