对于以下系列,drop_duplicates无法正常工作:
8672.0
8672.0
8672.0
8672.0
8670.0
8670.0
8670.0
8670.0
8670.0
8670.0
8672.0
8672.0
8672.0
8672.0
8672.0
8672.0
8672.0
8672.0
8672.0
8672.0
8670.0
8670.0
8670.0
8670.0
8670.0通过使用drop_duplicates(keep='first'),它应该返回4个值:
8672.0
8670.0
8672.0
8670.0但实际上,它只返回前两个值:
8672.0
8670.0它有什么问题,或者关于如何使用这个drop_duplicates来获得我想要的值有什么建议?非常感谢。
发布于 2018-05-17 19:25:19
DataFrame.drop_duplicates()会删除所有副本,而不仅仅是连续的副本。
假设s是一个系列:
In [93]: s[s.diff().ne(0)]
Out[93]:
0 8672.0
3 8670.0
9 8672.0
19 8670.0
Name: 8672.0, dtype: float64发布于 2018-05-17 19:25:28
我认为需要第一个连续的值,所以解决方案是通过shifted值进行比较,并通过boolean indexing进行过滤
s1 = s[s.ne(s.shift())]
print (s1)
0 8672.0
4 8670.0
10 8672.0
20 8670.0
Name: col, dtype: float64https://stackoverflow.com/questions/50390206
复制相似问题