object_id time_id class x y
0 3db53411-c23b-49ec-8635-adc4e3ee2895 5G21A6P01L4100029:1570754223950071 NaN NaN NaN
1 3cea3cdc-883e-48d7-83de-e485da2e085a 5G21A6P01L4100029:1570754223950071 PERSON 528.868 2191.747
2 fc87a12f-a76a-4273-a712-6f56afc042c6 5G21A6P01L4100029:1570754223950071 CAR 512.238 2192.744
3 4edb4e32-0345-4f85-a4b1-e60903368fed 5G21A6S09K40039EX:1565470602550590 NaN NaN NaN
4 cd68a1d0-2470-4096-adb1-201017aadc9e 5G21A6S09K40039EX:1565470602550590 PERSON -1305.968 -2423.231
我有一个嵌套字典detections
,其模式如下
detections = defaultdict(dict)
detections[key:time_id][key:object_id] = {'class_text':... , 'x': ..., 'y': ...}
对于上述数据帧detections
将是:
detections[5G21A6P01L4100029:1570754223950071] =
{
`3db53411-c23b-49ec-8635-adc4e3ee2895`: {},
'3cea3cdc-883e-48d7-83de-e485da2e085a': {'class_text': 'PERSON', 'x': 528.8, 'y': 2191.7},
'fc87a12f-a76a-4273-a712-6f56afc042c6': {'class_text': 'CAR', 'x': 512.2, 'y': 2192.7}}
}
detections["5G21A6S09K40039EX:1565470602550590"] =
{
`4edb4e32-0345-4f85-a4b1-e60903368fed`: {},
'cd68a1d0-2470-4096-adb1-201017aadc9e': {'class_text': 'PERSON', 'x': -1305.968, 'y': -2423.23}
}
当(class
、x
和y
)的值为NaN时,detections
有一个空值,否则它有相应的值
对于如何在没有for循环的情况下在每行上生成detections
的任何评论,我表示感谢
使用
time_id
上的groupby
并应用自定义合并函数merge_dicts
根据预定义的要求将分组的数据帧合并到字典中:结果:
相关问题 更多 >
编程相关推荐