如何用代码为一列数据打上序号,保证相同数据打相同序号,不同数据序号加1?
根据一列数据打上序号,相同数据打相同序号
想要为一列数据打上序号,要求上下相同数据打相同序号,不同数据序号+1,却不知如何实现?
有位热心的网友提供了以下解答:
代码实现:
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'''
这段代码使用np.cumsum(df['data'].diff() != 0)计算序号,其中:
最终得到的结果就是每个数据的序号。