使用python numpy,输出数组A中除了数组B中元素之外的其他元素
时间: 2023-08-31 17:36:10 浏览: 103
从numpy数组中取出满足条件的元素示例
### 回答1:
可以使用 Numpy 中的 setdiff1d 函数来实现。这个函数可以返回两个数组中不同的元素。
语法如下:
```
numpy.setdiff1d(ar1, ar2, assume_unique=False, return_indices=False)
```
ar1 和 ar2 是要比较的两个数组,assume_unique 是一个布尔值,表示两个数组是否包含重复元素,默认值为 False。return_indices 也是一个布尔值,表示是否返回原数组中不同元素的索引,默认值为 False。
举个例子:
```python
import numpy as np
A = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
B = np.array([2, 4, 6, 8])
C = np.setdiff1d(A, B)
print(C)
```
输出:
```
[1 3 5 7 9]
```
C 数组就是 A 中除了 B 中的元素之外的其他元素。
### 回答2:
使用Python的NumPy模块,可以通过数组的索引和逻辑运算符,很容易地输出数组A中除了数组B中元素之外的其他元素。
以下是一种可能的实现方式:
```python
import numpy as np
# 创建示例数组A和B
A = np.array([1, 2, 3, 4, 5])
B = np.array([2, 4])
# 使用NumPy的in1d函数检查数组A中的每个元素是否存在于数组B中
mask = np.in1d(A, B, invert=True)
# 根据掩码提取数组A中除了数组B中元素之外的其他元素
result = A[mask]
# 输出结果
print(result)
```
运行以上代码,将输出数组A中除了数组B中元素之外的其他元素:
```python
[1 3 5]
```
注意,这里使用`np.in1d(A, B, invert=True)`来获取掩码,参数`invert=True`的作用是对检查结果取反,即返回不在B中的元素所对应的掩码。
阅读全文