在Python中,使用Pandas库为数据列添加连续序号,并且让相同的数据共用同一序号,可以通过以下步骤实现:
groupby
和cumcount
:通过groupby
对数据进行分组,并使用cumcount
为每组数据生成连续序号。下面是一个具体的示例代码:
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开始递增。
+ 1
。groupby
中传入多个列名,例如groupby(['Category', 'SubCategory'])
。通过这种方式,你可以轻松地为数据列添加连续序号,并且相同的数据会共用同一序号。