我有以下 pandas 数据框:
所需的输出如下:
基本上,我的目标是删除“index”列上的重复项,同时为“so_id”列保留不同的升序值
最佳答案
我们可以做到,但重要的是,请注意上面的评论。
df=df.sort_values (by=['so_id'])#Sort df
创建临时列t
,它是so_id
和resort
的分类df
回到原来的 df=df.assign(t=df['so_id'].ne(df['so_id'].shift(1)).cumsum()).sort_values(by='index')
创建索引的临时分类
df=df.assign(t1=df['index'].ne(df['index'].shift(1)).cumsum())
选择上面两个类的相似之处
df=df[df['t']==df['t1']].drop(columns=['t','t1'])
print(df)
index so_id
0 10 390
4 11 395
8 12 405
关于python - 有条件删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66959215/