如何使用 NumPy 和 Pandas 给重复数据加相同序号?
根据一列数据加序号,相同数据加相同序号
你想要根据一列数据添加序号,使其上下相同数据具有相同的序号,而不同的数据则顺序递增。
以下是如何使用 numpy 和 pandas 实现这个功能:
import numpy as npimport pandas as pd# 创建一个 dataframe,其中有一列数据要加序号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,})# 使用 np.cumsum() 累加数据变化时的值,即不同的数据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