pandas中的剔重问题

对于dataframe中的去除重复项可以用data.drop_duplicates(),但是这样会去掉所有的重复项。

 

需求希望按某列(Row_D)排序后,按另一列(Row_C)剔除相邻的重复项,如图:

剔重后,得到入下图:

目前使用pandas的迭代生成器iterrows()添加条件判断可实现,但当数据量较大时,效率低下,有没有更高效的处理方式?

for row_index, row in df_data.iterrows():
    # print(row_index,row)
    if result.empty or result.iloc[-1,2] != row['Row_C'] :
        result = result.append(row, ignore_index=True)

 

用groupby 就行了