如何重新采样并使值计数以值作为新列标题,以计数作为其值

2024-06-26 14:48:20 发布

您现在位置:Python中文网/ 问答频道 /正文

重新采样后,我希望唯一值成为新的列标题,并将其计数作为值

我试过了

new_df.set_index('time').resample('60T').apply(lambda x: list(x))
        time            camera_id
0   2019-05-06 12:00:00 [cam02]
1   2019-05-06 13:00:00 []
2   2019-05-06 14:00:00 [cam01, cam01, cam01, cam02, cam02, cam02, cam...
3   2019-05-06 15:00:00 [cam02, cam02, cam02, cam02, cam02, cam02, cam...

我想要这样

    time                cam01  cam02  cam03
0   2019-05-06 12:00:00 0         1     0
1   2019-05-06 13:00:00 0         0     0
2   2019-05-06 14:00:00 0         10    0
3   2019-05-06 15:00:00 1         5     1

Tags: lambda标题dfnewindextimelistcamera
1条回答
网友
1楼 · 发布于 2024-06-26 14:48:20

我相信您需要在{}之前{{a1}使用{a2}并通过{a3}重塑:

df = (new_df.set_index('time')
            .groupby('camera_id')
            .resample('60T')
            .size()
            .unstack(0, fill_value=0))
print (df)
camera_id            cam01  cam02  cam03
time                                    
2019-05-06 12:00:00      0      1      0
2019-05-06 13:00:00      0      0      0
2019-05-06 14:00:00      0     10      0
2019-05-06 15:00:00      1      5      1

相关问题 更多 >