# Δy
d = df['y position'].diff()
# Δy < 0
m = d.lt(0)
# identify blocks
b = (~m).cumsum()
# group + transform
s = d.mask(~m).abs().groupby(b).transform('sum')
# select last values per group
df['result'] = np.select([~b.duplicated(keep='last') & m, d.eq(0)], [s, '*'], '')
让我们尝试
cumsum
识别连续严格递减值块:详细信息:
在} :
y position
上计算^{使用^{} 识别严格递减值的连续块:
^{} 使用^{} 连续块(} 上的连续差异:
b
)和^{然后使用带有条件和相应选项的^{} ,以便仅保持每个连续递减值块的最后总距离:
相关问题 更多 >
编程相关推荐