有很多关于如何合并两个熊猫数据帧的例子,但我的问题是我有两种数据。data1是一个csv数据,我用pandas读取它并将其转换为dataframe,另一个data2是json格式的。你知道吗
以下是json数据的示例:
[{'timestamp': 1572430625231, 'url': 'brakePressure', 'value': 10},
{'timestamp': 1572430625275, 'url': 'lateralAcceleration', 'value': 120},
{'timestamp': 1572430625290, 'url': 'longitudinalAcceleration', 'value': 110},
{'timestamp': 1572430625299, 'url': 'acceleratorPosition', 'value': 1230},
{'timestamp': 1572430625310, 'url': 'currentTorque', 'value': 10}]
正如您所看到的,每个特征值都在一个带有时间戳的字典中。问题是,如果我将其转换为数据帧,行将是时间戳、url和值,但我不希望这样,我希望我的列(特性)将是brakePressure、lateralAcceleration等。。在每一列中,都有对应于该特性的所有值,这些值在这个json中。你知道吗
我的目标是基于时间戳合并这两个数据集。这太难了,因为在json中,我有一个与每个特征值相关联的时间戳,而在csv数据中,我有一个对应于一行的时间戳(表示n个特征值,而不是一个特征值)。我尝试了这么多,但没有机会,所以我想也许我可以搜索最接近的时间戳,然后一次替换一个值,下面是我的尝试:
def sync_vehicle_gps_data(dataset=vehicle_data, gps_data=gps_data):
vehicle = dataset.copy()
gps = gps_data.copy()
d = {}
for json in vehicle:
timestamp, feature, val = json.values()
index = abs(gps['timestamp'] - timestamp).idxmin()
print("closest value index = ", index)
gps.at[index, feature] = val
return gps
车辆数据是json数据,gps数据是熊猫数据帧,你可以看到我搜索了整个数据集哪个时间戳最接近单个特征时间戳,然后我更新了那个特定的值,但这对我来说效果不好。我把数据搞砸了。在python中有什么方法可以做到这一点吗?我也可以使用任何其他图书馆,如果有一个,所以我不局限于熊猫。你知道吗
预期的结果是,我可以将上面json中的那些值附加到现有的dataframe中,这意味着在本例中,新的列“brakePressure”、“lateralacceleriaton”等。。将被添加,并且每个特性的值(正如在上面的json中一样,是的,它们是零,但这只是一个示例)将被放在行中,其中该行的时间戳与上面json中每个特性的时间戳键的时间戳最接近。我知道这是一个非常复杂的问题,不容易解释,但我希望你明白我的意思。 这里有一个例子:假设这是gps数据
timestamp X Y Z
1572430510880 595.00 179.00 -60.00
1572430510890 -0.23 -0.09 0.01
1572430510900 -0.11 -0.02 0.04
1572430510910 -1.96 -5.19 -6.10
我想要这个输出(我只为一个特性显示这个):
timestamp X Y Z brakePressure
1572430510880 595.00 179.00 -60.00 10
1572430510890 -0.23 -0.09 0.01 nan
1572430510900 -0.11 -0.02 0.04 nan
1572430510910 -1.96 -5.19 -6.10 nan
字典中brakePressure功能的值放在第一行,因为与上面字典中brakePressure的时间戳最接近的gps时间戳也在第一行。基本上我想对json中的所有特性做同样的事情,我想将所有这些特性值与gps数据同步
参考号:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.get_dummies.html
可以创建0和1作为列值:
这给了
然后呢
结果是:
现在可以在key timestamp上连接两个数据帧。你知道吗
相关问题 更多 >
编程相关推荐