我有两个numpy数组,X=[1 2 3 4 5 6 7 8 9],Y=[0 2 5],现在我想要获得X数组中Y下标的数据,即得到一个numpy数组为Z=[1 3 6],请问如何实现
时间: 2024-05-08 21:15:41 浏览: 11
可以使用numpy的take函数来实现:
```python
import numpy as np
X = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
Y = np.array([0, 2, 5])
Z = np.take(X, Y)
print(Z)
```
输出结果为:
```python
[1 3 6]
```
take函数的第一个参数是要取值的数组,第二个参数是要取值的下标数组。
相关问题
x = [1 2 3 4 5] , y =[6 7 8 9 10],怎么把这两个numpy数组变成一个[[1 2 3 4 5],[6 7 8 9 10]]的numpy数组
可以使用numpy中的vstack函数来将两个数组垂直堆叠起来,如下所示:
```python
import numpy as np
x = np.array([1, 2, 3, 4, 5])
y = np.array([6, 7, 8, 9, 10])
result = np.vstack((x, y))
print(result)
# 输出 [[ 1 2 3 4 5]
# [ 6 7 8 9 10]]
```
其中vstack函数的参数是一个元组,元组中包含需要堆叠的两个数组。
加入有一个numpy数组X=[0 1 3 4 5 8 9 10],我要使得i从0开始循环到10,如果i不在X中,则count+1,
下面是一种实现方法:
```python
import numpy as np
X = np.array([0, 1, 3, 4, 5, 8, 9, 10])
count = 0
for i in range(11):
if i not in X:
count += 1
print(count)
```
输出结果为:
```
2
```
解释:在0到10之间,有两个数不在X中,分别是2和7。因此count的值为2。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)