identify_segments
描述
识别数组中的连续相等值段,并为每个段分配唯一标识符。 每个连续相等的值构成一个段,第一个段标识符为1,第二个为2,以此类推。
函数签名
identify_segments(arr) -> None
参数
arr
(numpy.ndarray)
输入数组,类型为float64
返回值
numpy.ndarray 与输入数组等长的整数数组,每个元素表示该位置所属段的标识符
Python调用示例: ```python import numpy as np from rust_pyfunc import identify_segments
创建测试数组
arr = np.array([1.0, 1.0, 2.0, 2.0, 2.0, 1.0], dtype=np.float64) segments = identify_segments(arr) print(f"段标识: {segments}") # 输出: [1, 1, 2, 2, 2, 3]
解释结果:
- 第一段 [1.0, 1.0] 标识为1
- 第二段 [2.0, 2.0, 2.0] 标识为2
- 第三段 [1.0] 标识为3
```
示例
输入:
identify_segments(
np.array([1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0])
)
输出:
array([0, 1, 2, 2, 2, 3, 3], dtype=int32)
输入:
identify_segments(
np.array([5.0, 5.0, 5.0, 5.0, 5.0])
)
输出:
array([0, 1, 1, 1, 1], dtype=int32)
Python使用示例
import numpy as np
from rust_pyfunc import identify_segments
# 使用示例
result = identify_segments(np.array([1.0, 1.0, 2.0, 2.0, 2.0, 3.0, 3.0]))
print(f"结果: {result}")