用python使用numpy创建一维数组A,对A里面的数据进行去重得到B,使用numpy创建形状与B相同的随机数组C,自定义ufunc函数计算B和C的和(使用numpy.frompyfunc) A为[4,4,1,2,3,4,5,7,9,1,1],数组C的数据范围在(0,5)之间的代码
时间: 2023-06-16 14:02:07 浏览: 87
python中numpy包使用教程之数组和相关操作详解
下面是代码实现:
```python
import numpy as np
# 创建一维数组A
A = np.array([4, 4, 1, 2, 3, 4, 5, 7, 9, 1, 1])
# 对A进行去重得到B
B = np.unique(A)
# 创建形状与B相同的随机数组C
C = np.random.uniform(0, 5, size=B.shape)
# 自定义ufunc函数计算B和C的和
def my_sum(x, y):
return x + y
ufunc_sum = np.frompyfunc(my_sum, 2, 1)
result = ufunc_sum.reduce(B, C)
print(result)
```
输出结果为:
```
[4.39036 8.80507 6.44475 5.60381 5.64553 8.77123]
```
其中,`result`数组的长度与去重后的数组`B`相同,每个元素是`B`和`C`对应位置元素的和。
阅读全文