python 中我将曲线提取了x的两个区间,如何提取出对应的y,请举例详细解释
时间: 2023-12-10 13:41:03 浏览: 78
假设你已经用 Python 将曲线的两个区间提取出来并分别存储在两个数组 `x1` 和 `x2` 中。现在你需要从另一个数组 `y` 中提取出对应的 y 值。可以用以下两种方法实现:
方法一:使用 NumPy 的 bool 索引
如果 `x1` 和 `x2` 中的值在 `y` 中都是唯一的,可以使用 NumPy 的 bool 索引来提取对应的 y 值。代码示例如下:
```python
import numpy as np
# 假设 y 是一个长度为 n 的数组
# x1 和 x2 是两个长度分别为 m1 和 m2 的数组,且每个值在 y 中都是唯一的
m1, m2 = len(x1), len(x2)
y1 = y[np.isin(y, x1)] # 提取 x1 对应的 y 值
y2 = y[np.isin(y, x2)] # 提取 x2 对应的 y 值
```
方法二:使用列表推导式
如果 `x1` 和 `x2` 中的值在 `y` 中可能重复,可以使用列表推导式来提取对应的 y 值。代码示例如下:
```python
# 假设 y 是一个长度为 n 的数组
# x1 和 x2 是两个长度分别为 m1 和 m2 的数组
m1, m2 = len(x1), len(x2)
y1 = [y[i] for i in range(n) if y[i] in x1] # 提取 x1 对应的 y 值
y2 = [y[i] for i in range(n) if y[i] in x2] # 提取 x2 对应的 y 值
```
以上两种方法都可以实现从 `y` 数组中提取出对应 `x1` 和 `x2` 的 y 值。
阅读全文