例如,如果我有
MAX_ALLOWED_DIFF = 3
nums=[1, 2, 4, 10, 13, 2, 5, 5, 5]
输出应该是
groups = [[1, 2, 4], [10, 13], [2, 5, 5, 5]]
上下文:我有一个 pandas.Series object nums
并且我使用了
nums = nums.diff().gt(DETECTION_MAX_DIFF_NS).cumsum()).apply(list).tolist()
以相同的方式进行子采样,但我注意到我的 Series nums
中有很多重复项,在我使用 .unique()
方法后我不不再有 Series
对象,我有 numpy.ndarray
(1D) 代替。
我相信我可能会使用像 pandas.Series(nums.unique)
这样的东西,但我不喜欢这种 hack。
最佳答案
所以我们使用drop_duplicates
,让nums
留在pd.Series
nums=nums.drop_duplicates()
nums.groupby(nums.diff().abs().gt(MAX_ALLOWED_DIFF).cumsum()).apply(list).tolist()
Out[447]: [[1, 2, 4], [10, 13], [5]]
关于python - 如何根据相邻元素之间的差异将列表拆分为列表列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55399048/