我有两个数据,A数列是每天的股价,B数列是0和1组成的数值。我要把对应B列数值是1的时候,把A的数值取出来,生成一个C,能用np
时间: 2024-03-16 21:45:40 浏览: 19
可以使用`np.where`函数和布尔索引来实现这个要求。下面是一个示例代码:
```python
import numpy as np
# 假设 A 数组是每天的股价,B 数组是 0 和 1 组成的数值
A = np.array([10, 12, 11, 13, 14, 15])
B = np.array([0, 1, 1, 0, 1, 0])
# 使用 np.where 和布尔索引生成新数组 C
C = A[B == 1]
print(C)
```
输出结果为:
```
[12 11 14]
```
在上面的代码中,`A[B == 1]` 的意思是,先使用布尔索引 B == 1,生成一个布尔数组,表示对应位置上 B 中的值是否为 1。然后将布尔数组作为索引,从 A 数组中取出对应位置上的值,生成新的数组 C。
相关问题
我有两个数据,A数列是每天的股价,B数列是0和1组成的数值,我要做个循环,每次B数列是1 的时候,A数列的股价*2,怎么用python写
你可以使用一个`for`循环来遍历`B`数列,然后在每次`B`数列的值为`1`时,将`A`数列的对应元素乘以2。具体代码如下:
```python
A = [1, 2, 3, 4, 5] # A数列
B = [0, 1, 1, 0, 1] # B数列
for i in range(len(B)):
if B[i] == 1:
A[i] *= 2 # 如果B数列的值为1,将A数列对应的元素乘以2
print(A) # 输出修改后的A数列
```
在这段代码中,`if B[i] == 1:`判断当前`B`数列的值是否为`1`,如果是,则将`A`数列对应的元素乘以2。最后,输出修改后的`A`数列。
我要新生成一个A,要求必须B列对应的位置是1,怎么写
你可以使用列表推导式来生成一个新的`A`数列,其中只包含`B`数列对应位置为`1`的元素。具体代码如下:
```python
A = [1, 2, 3, 4, 5] # A数列
B = [0, 1, 1, 0, 1] # B数列
new_A = [A[i] for i in range(len(B)) if B[i] == 1] # 生成新的A数列
print(new_A) # 输出新的A数列
```
在这段代码中,`[A[i] for i in range(len(B)) if B[i] == 1]`表示生成一个列表,其中包含`A`数列对应位置为`1`的元素。具体来说,`for i in range(len(B))`表示遍历`B`数列的所有位置,`if B[i] == 1`表示只选择`B`数列对应位置为`1`的元素,而`A[i]`则表示取出`A`数列对应位置的元素。最终,通过列表推导式生成了一个新的`A`数列,其中只包含`B`数列对应位置为`1`的元素。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.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)