对于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 就行了