派派分析 发表于 2022-8-5 00:54:11

关于numpy.broadcast()的返回值问等一系列问题

这是一段关于广播broadcast的代码
import numpy as np
a = np.array([, , ])
b = np.array()
# 对b广播a
d = np.broadcast(a,b)
#d它拥有 iterator 属性
r,c = d.iters
print (next(r), next(c))
print (next(r), next(c))
# 使用broadcast将a与b相加
e = np.broadcast(a,b)
f=np.empty(e.shape)
f.flat=
print(f)
print(a+b)


结果#对b广播a
1 6
2 4
#f数组
[

]
#a+b
[

]

我的理解:a和b广播之后,d为[,,],这里暂时不知道d的数据类型,因为我print(d)的结果是<numpy.broadcast object at 0x00000215C0183F00>

1.以上代码中d的数据类型是什么呢?
2.r,c = d.iters   r,s是iters返回的迭代器,为什么之后的next(r), next(c)值会不同呢?且1,6,2,4如何得出我想不明白
3.f.flat=这个段代码没看懂
望指点
页: [1]
查看完整版本: 关于numpy.broadcast()的返回值问等一系列问题