列数据中的数据是1,1,2,3,4,7,8,8,15,19,20,21.我想在本专栏中获得最连续的数据段:1,2,3,4。怎么算?
发布于 2022-11-24 06:32:33
您可以通过将差值与累积和比较来按连续值创建组,通过GroupBy.transform获取计数,最后过滤原始列col的最大计数--输出都是具有最大计数的连续值:
s = df['col'].groupby(df['col'].diff().ne(1).cumsum()).transform('size')
out = df.loc[s.eq(s.max()), 'col']如果需要,请使用Series.value_counts和Series.idxmax
s = df['col'].diff().ne(1).cumsum()
out = df.loc[s.eq(s.value_counts().idxmax()), 'col']https://stackoverflow.com/questions/74556466
复制相似问题