如何为一列数据中的相同值打上相同序号?
解决根据一列数据为相同值打上相同序号
你想为一列数据打上序号,上下相同数据打相同序号,不同数据序号+1。以下是实现此功能的 python 代码:
import numpy as npimport pandas as pddf = 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 nums0 11 11 21 22 24 33 24 34 24 35 24 36 25 47 25 48 26 59 26 510 26 511 26 512 23 613 26 714 26 715 26 716 26 717 20 818 26 919 26 920 26 921 26 9
正如你所见,相同数据已被分配相同的序号,而不同数据则获得了不同的序号。