如何在数据框中删除索引成功的另一个索引值?



例如,这个切片需要删除连续的,并保留最后一个。例如,115成功了114,所以我应该去掉114。

108    3
114    3
115    4
123    3
124    4
125    5

所需的数据帧应该是:

108    3
115    4
125    5

通过Series.diff获取差值,并且不过滤-1行,这意味着第一个连续的重复项被删除:

注意:由于index.diff没有实现,所以使用Index.to_seriesindex转换为Series

df1 = df[df.index.to_series().diff(-1).ne(-1)]
print (df1)
a
108  3
115  4
125  5

如果需要按列中的值进行过滤,例如a:

df2 = df.drop_duplicates('a')
print (df2)
a
108  3
115  4
125  5

你的问题说的是最后一个,但预期的输出是第一个这两个都供参考。

df = pd.read_csv(io.StringIO("""108    3
114    3
115    4
123    3
124    4
125    5"""),sep="s+", header=None).set_index(0)
print(df.reset_index().groupby(1, as_index=False).first().set_index(0).to_markdown())

相关内容

  • 没有找到相关文章

最新更新