例如,我有DataFrame
df = pd.DataFrame({'a': [1, 2, 3, 4, 5, 6, 7, 8, 9], 'b': [2, 2, 4, 3, 1000, 2000, 1, 500, 3]})

我需要通过离群点得到这些间隔: 1-4,5-6,7,8,9。
用pd.cut和pd.qcut进行切割并不能给出这些结果。
发布于 2022-07-07 08:07:19
您可以根据上面/下面的掩码按连续值对它们进行分组:
m = df['b'].gt(100)
df['group'] = m.ne(m.shift()).cumsum()产出:
a b group
0 1 2 1
1 2 2 1
2 3 4 1
3 4 3 1
4 5 1000 2
5 6 2000 2
6 7 1 3
7 8 500 4
8 9 3 5https://stackoverflow.com/questions/72894040
复制相似问题