我的DataFrame
分是这样的:
index B
0 1
1 2
2 5
3 6
4 7
5 10
并且我需要合并差值小于或等于2的行, Select 具有较小值的行,并设置计数合并
结果应该是这样的:
index B count
0 1 2
1 5 3
2 10 1
如何用Pandas 来解决这个问题呢?
我的DataFrame
分是这样的:
index B
0 1
1 2
2 5
3 6
4 7
5 10
并且我需要合并差值小于或等于2的行, Select 具有较小值的行,并设置计数合并
结果应该是这样的:
index B count
0 1 2
1 5 3
2 10 1
如何用Pandas 来解决这个问题呢?
非常相似的to @AndrejKesely,只是语法更短,使用named aggregations:
df.groupby(df["B"].diff().gt(2).cumsum(),
as_index=False).agg(B=("B", "first"),
count=("B", "count"))
输出:
B count
0 1 2
1 5 3
2 10 1