将正态分布的数组a中元素大于0的数据改成1,小于等于0的改成-1 a=np.random.randn(9)
时间: 2023-08-31 19:42:27 浏览: 92
### 回答1:
可以使用numpy的where函数实现:
```python
import numpy as np
a = np.random.randn(9)
a = np.where(a > 0, 1, -1)
```
其中,`np.where`函数的三个参数分别是判断条件、满足条件时的替换值、不满足条件时的替换值。这里的判断条件是`a > 0`,满足条件时替换为1,不满足条件时替换为-1。
### 回答2:
要将正态分布数组a中的元素根据大小更改为1和-1,可以按照以下方式进行操作:
```python
import numpy as np
a = np.random.randn(9) # 创建正态分布数组a
for i in range(len(a)):
if a[i] > 0:
a[i] = 1 # 将大于0的元素改为1
else:
a[i] = -1 # 将小于等于0的元素改为-1
```
解释:上述代码通过循环遍历数组a中的每个元素,如果元素大于0,则将其更改为1;如果元素小于等于0,则将其更改为-1。最终数组a将得到符合要求的结果。
注意:为了能够运行上述代码,需要先导入NumPy库。
### 回答3:
可以使用numpy库中的函数将正态分布的数组a中元素大于0的数据改成1,小于等于0的改成-1。
首先要导入numpy库:
```
import numpy as np
```
然后生成正态分布的数组a:
```
a = np.random.randn(9)
```
接下来可以使用numpy的where函数实现条件判断和替换操作,将大于0的元素改成1,小于等于0的元素改成-1:
```
a = np.where(a > 0, 1, -1)
```
其中,第一个参数是判断条件,即a中的元素是否大于0;第二个参数是满足条件时替换成的值,即1;第三个参数是不满足条件时替换成的值,即-1。
最后,打印输出修改后的数组a:
```
print(a)
```
这样就可以得到一个将正态分布的数组a中元素大于0的数据改成1,小于等于0的改成-1的结果。
完整代码如下:
```
import numpy as np
a = np.random.randn(9)
a = np.where(a > 0, 1, -1)
print(a)
```
输出结果示例:
```
[-1 1 1 1 -1 -1 -1 1 -1]
```
其中,1代表大于0的元素,-1代表小于等于0的元素。