在Pandas中,可以使用duplicated()
函数来判断DataFrame中的重复行。如果要为每个重复行追加值或索引,可以使用groupby()
函数和cumcount()
函数来实现。
具体步骤如下:
duplicated()
函数找到DataFrame中的重复行。该函数返回一个布尔型的Series,表示每一行是否为重复行。duplicates = df.duplicated()
groupby()
函数和cumcount()
函数为重复行追加值或索引。groupby()
函数将DataFrame按照重复行进行分组,cumcount()
函数返回每个分组中的行数。df['index'] = df.groupby(df.columns.tolist()).cumcount()
这样,就可以为每个重复行追加一个名为'index'的列,表示该行在重复行中的索引。
示例代码如下:
import pandas as pd
# 创建示例DataFrame
data = {'A': [1, 2, 3, 1, 2, 3],
'B': [4, 5, 6, 4, 5, 6],
'C': [7, 8, 9, 7, 8, 9]}
df = pd.DataFrame(data)
# 找到重复行
duplicates = df.duplicated()
# 为重复行追加索引
df['index'] = df.groupby(df.columns.tolist()).cumcount()
print(df)
输出结果如下:
A B C index
0 1 4 7 0
1 2 5 8 0
2 3 6 9 0
3 1 4 7 1
4 2 5 8 1
5 3 6 9 1
在这个例子中,DataFrame中的前三行是不重复的,后三行是重复的。通过为重复行追加的'index'列,可以看到每个重复行的索引。
领取专属 10元无门槛券
手把手带您无忧上云