如何获取数组a = np.array([1,2,3,2,3,4,3,4,5,6])和数组b = np.array([7,2,10,2,7,4,9,4,9,8])之间的共同元素?
时间: 2023-10-01 21:10:23 浏览: 41
可以使用 np.intersect1d(a, b) 函数来获取两个数组之间的共同元素,如下所示:
```python
import numpy as np
a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
common_elements = np.intersect1d(a, b)
print(common_elements)
```
输出结果为:
```
[2 4]
```
即两个数组中的共同元素为 2 和 4。
相关问题
16. 从数组a = np.array([1,2,3,2,3,4,3,4,5,6])中删除在数组b = np.array([7,2,10,2,7,4,9,4,9,8])中存在的所有元素
可以使用NumPy中的setdiff1d函数来从一个数组中删除另一个数组中存在的元素。setdiff1d函数返回一个有序唯一值数组,这个数组包含在第一个输入数组中但不在第二个输入数组中出现的所有元素。
以下是使用NumPy的setdiff1d函数来从数组a中删除在数组b中存在的所有元素的代码:
```python
import numpy as np
# 创建数组a和数组b
a = np.array([1,2,3,2,3,4,3,4,5,6])
b = np.array([7,2,10,2,7,4,9,4,9,8])
# 从a中删除在b中存在的所有元素
result = np.setdiff1d(a, b)
print(result)
```
执行上述代码,输出结果如下:
```
[1 3 5 6]
```
以上就是从数组a中删除在数组b中存在的所有元素的方法。
24. 从二维数组a = np.array([[3,3,3],[4,4,4],[5,5,5]])中的每行减去一维数组b= np.array([1,2,3])中相应的值
可以使用NumPy的broadcasting机制,对二维数组的每一行都减去一维数组中相应的值。具体实现代码如下:
```python
import numpy as np
a = np.array([[3, 3, 3], [4, 4, 4], [5, 5, 5]])
b = np.array([1, 2, 3])
result = a - b.reshape(-1, 1)
print(result)
```
输出结果为:
```
[[2 2 2]
[2 2 2]
[2 2 2]]
```
其中,`reshape(-1, 1)`将一维数组`b`转换为二维数组,并且将每个元素放在一个单独的行中,这样就可以对`a`的每一行都减去相应的值了。
阅读全文