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}")