如何为一列数据中的相同值打上相同序号?

如何为一列数据中的相同值打上相同序号?

解决根据一列数据为相同值打上相同序号

你想为一列数据打上序号,上下相同数据打相同序号,不同数据序号+1。以下是实现此功能的 python 代码:

import numpy as np
import pandas as pd

df = pd.dataframe({
    'data': [11, 21, 24, 24, 24, 24, 25, 25, 26, 26, 26, 26, 23, 26, 26, 26, 26, 20, 26, 26, 26, 26],
    'nums': 0,
})

df['nums'] = np.cumsum(df['data'].diff() != 0)

print(df)

此代码将产生以下输出:

    data  nums
0     11     1
1     21     2
2     24     3
3     24     3
4     24     3
5     24     3
6     25     4
7     25     4
8     26     5
9     26     5
10    26     5
11    26     5
12    23     6
13    26     7
14    26     7
15    26     7
16    26     7
17    20     8
18    26     9
19    26     9
20    26     9
21    26     9

正如你所见,相同数据已被分配相同的序号,而不同数据则获得了不同的序号。

以上就是如何为一列数据中的相同值打上相同序号?的详细内容,更多请关注其它相关文章!