插件窝 干货文章 如何使用Python和Pandas为数据列添加连续序号,且相同数据共用同一序号?

如何使用Python和Pandas为数据列添加连续序号,且相同数据共用同一序号?

序号 数据 Category 添加 56    来源:    2025-03-15

在Python中,使用Pandas库为数据列添加连续序号,并且让相同的数据共用同一序号,可以通过以下步骤实现:

  1. 导入Pandas库:首先需要导入Pandas库。
  2. 创建DataFrame:假设你有一个DataFrame,其中包含你想要添加序号的数据列。
  3. 使用groupbycumcount:通过groupby对数据进行分组,并使用cumcount为每组数据生成连续序号。
  4. 添加序号列:将生成的序号列添加到DataFrame中。

下面是一个具体的示例代码:

import pandas as pd

# 示例数据
data = {
    'Category': ['A', 'A', 'B', 'B', 'B', 'C', 'C', 'C', 'C'],
    'Value': [10, 20, 30, 40, 50, 60, 70, 80, 90]
}

# 创建DataFrame
df = pd.DataFrame(data)

# 添加连续序号列,相同数据共用同一序号
df['Sequence'] = df.groupby('Category').cumcount() + 1

# 显示结果
print(df)

代码解释:

  • groupby('Category'):按照Category列进行分组。
  • cumcount():为每个分组生成一个从0开始的连续序号。
  • + 1:将序号从0开始调整为从1开始。

输出结果:

  Category  Value  Sequence
0        A     10         1
1        A     20         2
2        B     30         1
3        B     40         2
4        B     50         3
5        C     60         1
6        C     70         2
7        C     80         3
8        C     90         4

在这个例子中,Category列中的相同值会共用同一组序号,序号从1开始递增。

注意事项:

  • 如果你希望序号从0开始,可以去掉+ 1
  • 如果你需要对多个列进行分组,可以在groupby中传入多个列名,例如groupby(['Category', 'SubCategory'])

通过这种方式,你可以轻松地为数据列添加连续序号,并且相同的数据会共用同一序号。