我正在使用两个IMU,以获得一个角度。情况是,当我收到数据时,它具有如下所示的formart:
{heading : 0.002, pitch : 0.000, roll : -0.000, yaw : 0.000}
在这种格式下,键值不是字符串,而所有值只是一个对象。为此,当我有一些此类对象时,如果我用所有对象创建一个列表,然后从该列表中创建一个DataFrame,则结果是
0
0 {heading : 0.002, pitch : 0.000, roll : 0.000,...
1 {heading : 0.002, pitch : 0.000, roll : 0.000,...
2 {heading : 0.000, pitch : 0.000, roll : 0.000,...
3 {heading : 0.002, pitch : 0.000, roll : 0.000,...
4 {heading : 0.002, pitch : 0.000, roll : 0.000,...
.. ...
129 {heading : 0.002, pitch : 0.000, roll : 0.000,...
130 {heading : 0.002, pitch : 0.000, roll : 0.000,...
131 {heading : 0.002, pitch : 0.000, roll : 0.000,...
132 {heading : 0.002, pitch : 0.000, roll : 0.000,...
133 {heading : 0.002, pitch : 0.000, roll : 0.000,...
我想得到这样的东西:
heading pitch roll yaw
0 value value value value
1 value value value value
2 value value value value
有人可以帮助我吗?谢谢!
答案 0 :(得分:1)
您可以使用hjson模块
import hjson
data = ['{heading : 0.002, pitch : 0.000, roll : -0.000, yaw : 0.000}',
'{heading : 0.001, pitch : 0.003, roll : -0.000, yaw : 0.005}']
new_data = [hjson.loads(d) for d in data]
import pandas as pd
pd.DataFrame(new_data)
heading pitch roll yaw
0 0.002 0.000 0 0.000
1 0.001 0.003 0 0.005
答案 1 :(得分:0)
Pandas具有pd.read_json
方法。
从文档中
>>> df.to_json(orient='records')
'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'
>>> pd.read_json(_, orient='records')
col 1 col 2
0 a b
1 c d