首页 > 解决方案 > 根据模式和数据框上的另一个变量设置 ID [pandas]

问题描述

如果有这个数据框

    time_diff   value
0   0.00123     1
1   0.00320     2
2   0.00300     1
3   0.00500     5   
4   0.00700     1
5   0.80000     2
6   0.00200     1
7   0.00400     3
8   0.00200     1
9   0.00020     3
10  0.00200     1
11  0.00500     3
12  0.01200     2
13  0.00200     4
14  0.00200     5

我想根据一些参数定义一个 ID:

  1. 我们必须在该value领域进行重复。例如:a-b-a-b-aor a-b-a-c-a(也就是说,你应该总是回到第一个项目并以它结束)

  1. time_diff字段必须小于 0.01

因此,仅基于value,我们将有

    value   ID
0   1       0
1   2       0
2   1       0
3   5       0
4   1       0
5   2       0
6   1       0
7   3       0
8   1       0
9   3       0
10  1       0
11  3       1
12  2       2
13  4       3
14  5       4

并基于time_diff

    time_diff   ID
0   0.00123     0
1   0.00320     0
2   0.00300     0
3   0.00500     0
4   0.00700     0
5   0.80000     1
6   0.00200     1
7   0.00400     1
8   0.00200     1
9   0.00020     1
10  0.00200     1
11  0.00500     1
12  0.01200     2
13  0.00200     2
14  0.00200     2

所以,最终的输出将是

    time_diff   value   ID
0   0.00123     1       0
1   0.00320     2       0
2   0.00300     1       0
3   0.00500     5       0
4   0.00700     1       0
5   0.80000     2       1
6   0.00200     1       2
7   0.00400     3       2
8   0.00200     1       2
9   0.00020     3       2
10  0.00200     1       2
11  0.00500     3       3
12  0.01200     2       4
13  0.00200     4       5
14  0.00200     5       6

谁能帮我这个?

标签: pythonpandasdataframe

解决方案


推荐阅读