微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用它们的平均值替换数组元素

如何解决用它们的平均值替换数组元素

假设我有一个 numpy 数组:

a = [0,1,…,i-1,i,i+1,j,j+1,n]

我想用一个元素替换第 i 个、第 i+1 个……第 j 个元素——它们的平均值:

b = [0,average,n]

我将如何使用尽可能紧凑的代码来做到这一点?

解决方法

切片和连接数组

   np.concatenate([a[:i],a[i:j].mean().reshape(1,),a[j:]])

示例

a = np.array(list(range(20)))
i = 5
j = 10

np.concatenate([a[:i],a[j:]])

array([ 0.,1.,2.,3.,4.,7.,10.,11.,12.,13.,14.,15.,16.,17.,18.,19.])

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。