我有以下数据帧:
Timestamp S_time1 S_time2 End_Time_1 End_time_2 Sign_1 Sign_2
0 2413044 0 0 0 0 x x
1 2422476 0 0 0 0 x x
2 2431908 0 0 0 0 x x
3 2441341 0 0 0 0 x x
4 2541232 2526631 2528631 2520631 2530631 10 80
5 2560273 2544946 2546496 2546496 2548496 40 80
6 2577224 2564010 2566010 2566010 2568010 null null
7 2592905 2580959 2582959 2582959 2584959 null null
table 就这样继续下去 . 第一列是时间戳,以毫秒为单位 . S_time1
和 End_time_1
是特定符号(数字)出现的持续时间 . 例如,如果我们取第5行, S_time1
是2526631, End_time_1
是2520631,相应的 sign_1
是10,这意味着从2526631到2520631将显示符号10 . 同样的事情发生在 S_time2
和 End_time_2
. sign_2
中的相应值将显示在从 S_time2
到 End_time_2
的持续时间中 .
我想在100毫秒的bin时间内重新采样索引列( Timestamp
)并检查符号所属的bin时间 . 例如,在每个开始时间和结束时间之间存在2000毫秒的差异 . 因此,相应的符号编号将在大约20个连续的bin时间内重复出现,因为每个bin时间是100毫秒 . 所以我只需要两列:一列是bin时间,第二列是符号 . 看起来像下表:(我只是为了弥补bin时间)
Bin_time signs
...100 0
...200 0
...300 10
...400 10
...500 10
...600 10
符号10将持续相应的S_time1到End_time_1的持续时间 . 然后,下一个符号80继续S_time2到End_time_2的持续时间 . 我不确定这是否可以在熊猫中完成 . 但我真的需要大熊猫或其他方法的帮助 .
感谢您的帮助和建议 .
1 回答
输入:
2种方法: