小编Chi*_*ion的帖子

Numpy:替换数组前半部分中的每个 n 元素

如果我有一个 numpy 数组,并且想要将数组前半部分中的每个第 n 个元素替换为 0(后半部分没有变化),我怎样才能有效地做到这一点?现在我的代码不够高效: for i in xrange(1,half,n): s[i] = 0

python numpy python-2.7

5
推荐指数
1
解决办法
6159
查看次数

Numpy:将数组中的每个值替换为其相邻元素的平均值

我有一个ndarray,我想用它的相邻元素的平均值替换数组中的每个值.下面的代码可以完成这项工作,但是当我有700个阵列都具有形状(7000,7000)时,它是超级慢的,所以我想知道是否有更好的方法来做到这一点.谢谢!

a = np.array(([1,2,3,4,5,6,7,8,9],[4,5,6,7,8,9,10,11,12],[3,4,5,6,7,8,9,10,11]))
row,col = a.shape
new_arr = np.ndarray(a.shape)
for x in xrange(row):
    for y in xrange(col):
        min_x = max(0, x-1)
        min_y = max(0, y-1)
        new_arr[x][y] = a[min_x:(x+2),min_y:(y+2)].mean()
print new_arr
Run Code Online (Sandbox Code Playgroud)

python arrays numpy numpy-broadcasting

5
推荐指数
1
解决办法
756
查看次数

python:从自定义概率函数中随机抽样

我有一个带概率密度函数的分段四次分布:

p(x)= c(x/a)^2 if 0?x<a; 
      c((b+a-x)^2/b)^2 if a?x?b;
      0 otherwise
Run Code Online (Sandbox Code Playgroud)

假设 c、a、b 是已知的,我试图从分布中抽取 100 个随机样本。我怎样才能用 numpy/scipy 做到这一点?

python random numpy scipy

0
推荐指数
1
解决办法
6195
查看次数

标签 统计

numpy ×3

python ×3

arrays ×1

numpy-broadcasting ×1

python-2.7 ×1

random ×1

scipy ×1