python中answer_python – 关于Numpy Broadcasting Answer的解释

您可以稍微调整当前代码以使其正常工作.

>>> out = np.zeros((4*5*10,4))

>>> out[:,:3] = (np.arange(4*5*10)[:,None]//(5*10, 10, 1)*(0.5, 0.2, 1)%(2, 1, 10))

>>> out

array([[ 0. , 0. , 0. , 0. ],

[ 0. , 0. , 1. , 0. ],

[ 0. , 0. , 2. , 0. ],

...

[ 0. , 0. , 8. , 0. ],

[ 0. , 0. , 9. , 0. ],

[ 0. , 0.2, 0. , 0. ],

...

[ 0. , 0.8, 9. , 0. ],

[ 0.5, 0. , 0. , 0. ],

...

[ 1.5, 0.8, 9. , 0. ]])

变化是:

>数组上没有int dtype,因为我们需要它来保存某些列中的浮点数.如果需要,可以指定一个浮点数dtype(或者甚至更复杂的东西,只允许在前两列中使用浮点数).>而不是N ** 3个总值,计算每列的不同值的数量,并将它们相乘以得到我们的总大小.这用于零和范围.>在第一个广播操作中使用floor division //运算符,因为此时我们需要整数,但稍后我们会想要浮点数.>除以的值再次基于后面列的值的数量(例如,对于A,B,C值的值,除以B * C,C,1).>添加新的广播操作以乘以各种比例因子(每个值一次增加多少).>更改广播mod%操作中的值以匹配每列的边界.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值