我正在尝试将从 api 提取的数据放入数据帧中。api = OpenSkyApi()#bbox = (min latitude, max latitude, min longitude, max longitude)states = api.get_states(bbox=(38.793968, 39.002143, -77.170372, -76.868058))for s in states.states: x=((s.longitude, s.latitude, s.baro_altitude, s.velocity, s.callsign ))我的结果是这样的:(-77.0419, 38.8545, None, 0, 'AAL2140 ')我试图将结果放入 pandas 数据框中,其中列为“Long”、“Lat”、“Alt”、“Vel”、“Call”我尝试这样做df = pd.DataFrame(x, columns =['Long']) 但这使我的元组变成一列。老实说,我对此很陌生,我确信这x=((s.longitude, s.latitude, s.baro_altitude, s.velocity, s.callsign ))部分可能会发生一些变化,但我不确定。任何帮助表示赞赏!
1 回答
![?](http://img1.sycdn.imooc.com/5458620000018a2602200220-100-100.jpg)
慕无忌1623718
TA贡献1744条经验 获得超4个赞
将所有元组存储在列表中。然后,您可以创建一个使用列表作为数据源的数据框,并指定列。
api = OpenSkyApi()
#initiate empty list
state_tuples = []
#bbox = (min latitude, max latitude, min longitude, max longitude)
states = api.get_states(bbox=(38.793968, 39.002143, -77.170372, -76.868058))
for s in states.states:
x=((s.longitude, s.latitude, s.baro_altitude, s.velocity, s.callsign ))
#pop on
state_tuples.append(x)
df = pd.DataFrame(x, columns=['long', 'lat', 'alt', 'vel', 'callsign'])
添加回答
举报
0/150
提交
取消